Commit graph

31 commits

Author SHA1 Message Date
outfoxxed
bcc3d4265e
core: switch to custom incubation controller
Some checks failed
Build / Nix-4 (push) Has been cancelled
Build / Nix-5 (push) Has been cancelled
Build / Nix-6 (push) Has been cancelled
Build / Nix-7 (push) Has been cancelled
Build / Nix-8 (push) Has been cancelled
Build / Nix-9 (push) Has been cancelled
Build / Nix-10 (push) Has been cancelled
Build / Nix-11 (push) Has been cancelled
Build / Nix-12 (push) Has been cancelled
Build / Nix-13 (push) Has been cancelled
Build / Nix-14 (push) Has been cancelled
Build / Nix-15 (push) Has been cancelled
Build / Nix-16 (push) Has been cancelled
Build / Nix-17 (push) Has been cancelled
Build / Nix-18 (push) Has been cancelled
Build / Nix-19 (push) Has been cancelled
Build / Nix-20 (push) Has been cancelled
Build / Nix-21 (push) Has been cancelled
Build / Nix-22 (push) Has been cancelled
Build / Nix-23 (push) Has been cancelled
Build / Nix-24 (push) Has been cancelled
Build / Nix-25 (push) Has been cancelled
Build / Nix-26 (push) Has been cancelled
Build / Nix-27 (push) Has been cancelled
Build / Nix-28 (push) Has been cancelled
Build / Nix-29 (push) Has been cancelled
Build / Nix-30 (push) Has been cancelled
Build / Nix-31 (push) Has been cancelled
Build / Archlinux (push) Has been cancelled
Lint / Lint (push) Has been cancelled
This change requires more QtPrivate usage but eliminates generation or
cleanup related window incubation controller bugs. Additionally it
enables async loads prior to rendering windows.
2026-01-10 13:22:50 -08:00
outfoxxed
e9a574d919
core: derive incubation controllers from tracked windows list
Replaces the attempts to track incubation controllers directly with a
list of all known windows, then pulls the first usable incubation
controller when an assignment is requested.

This should finally fix incubation controller related use after free crashes.
2025-09-19 02:15:51 -07:00
outfoxxed
0416032a7c
core/reloader: trigger postReload with a signal
A signal is now used over the previous tree-searching method as some
QML components such as Repeater fail to reparent created children to
themselves, which breaks the tree.
2025-07-26 17:52:06 -07:00
outfoxxed
49a3752b9d
core: correctly deregister QML incubators on destruction
Previously we'd try to cast the QObject* sender from
QObject::destroyed to a QQmlIncubationController*. This will always
return nullptr because C++ destructors change the type of the object
and the QQmlIncubationController destructor has already run at this
point. We now store controllers as QObject*s.

Fixes #108
2025-07-11 00:38:58 -07:00
outfoxxed
4b35d7b51b
core: support qs. imports 2025-07-10 01:50:53 -07:00
outfoxxed
ec433d1a70
core: improve log format for QML errors and warnings 2025-05-26 03:35:52 -07:00
outfoxxed
4472b27039
core/reloader: watch new files detected in failed reloads 2025-05-26 02:28:01 -07:00
outfoxxed
8124a63ee4
ui: add native reload popup 2025-05-17 17:03:03 -07:00
outfoxxed
cb05e9a327
core/reloader: fix incubator warnings 2024-11-29 01:37:14 -08:00
outfoxxed
c21df95087
core/reloader: do not require ShellRoot 2024-11-22 19:40:39 -08:00
outfoxxed
7db3772641
core/generation: short circuit findObjectGeneration if only one exists 2024-11-17 01:46:49 -08:00
outfoxxed
7ffce72b31
all: optimize build 2024-11-05 04:15:17 -08:00
outfoxxed
5e2fb14551
io/ipchandler: add IpcHandler and qs msg
Also reworks the whole ipc system to use serialized variants.
2024-09-13 02:50:42 -07:00
outfoxxed
ec362637b8
service/tray!: redesign menus / dbusmenu and add native menu support
Reworks dbusmenu menus to be displayable with a system context menu.

Breaks the entire DBusMenu api.
2024-07-01 20:50:30 -07:00
outfoxxed
3573663ab6
service/greetd: add greetd service 2024-06-20 15:39:49 -07:00
outfoxxed
6efa05a8eb
core: run full destruction sequence before exiting
Fixes QTimer messages.
2024-06-18 20:58:33 -07:00
outfoxxed
9e58077c61
core: fix shutdown sequence crashing 2024-06-18 17:03:38 -07:00
outfoxxed
7feae55ebe
core/reloader: add reload signals for visual notifications 2024-05-30 02:39:37 -07:00
outfoxxed
0519acf1d6
core: support root: and root:/ paths for the config root
This works everywhere urls are accepted and rewrites them from the
config root as a qsintercept url.
2024-05-29 15:07:10 -07:00
outfoxxed
7ad3671dd1
core/reloader: fix file watcher compatibility with vim 2024-05-28 15:36:25 -07:00
outfoxxed
c6e5a35745
core/reloader: fix more crashes (not all of them) 2024-04-20 02:59:50 -07:00
outfoxxed
31462b9797
core/reloader: fix UAF of old generation during scene destroy 2024-04-20 00:36:25 -07:00
outfoxxed
6eb68d2cd7
core/reloader: fix late creation of Reloadable types 2024-04-19 15:45:07 -07:00
outfoxxed
3a0381dcbe
core/window: backing windows can now be destroyed and recreated
This fixes a crash in layershells and the setVisible crash on nvidia.
2024-03-27 00:45:53 -07:00
outfoxxed
b6dc6967a1
core/generation: fix incuabation controller use after free
qobject_casts were failing causing old controllers to never be removed
from the list.
2024-03-25 02:02:46 -07:00
outfoxxed
c6bf826031
core/reloader: fix Quickshell.reload not working
Has been broken since engine generations were introduced.
2024-03-25 01:57:15 -07:00
outfoxxed
31264ac7d1
core/singleton: fix PostReloadHook in singletons 2024-03-20 01:37:30 -07:00
outfoxxed
9f38908bdf
core/intercept: do not intercept non qml files
Avoids forcing Images to lazy load which causes unexpected flashes.
2024-03-19 21:30:46 -07:00
outfoxxed
518977932d
core/lazyloader: add LazyLoader
Also fixes qml incubation in general, which was completely broken,
meaning the native qml Loader type should also work now.
2024-03-19 05:35:44 -07:00
outfoxxed
ffbdac9977
core: synthesized qmldir files and new qml scanning strategy 2024-03-14 00:16:22 -07:00
outfoxxed
1687ff3614
reload: encapsulate each engine generation more 2024-03-13 22:53:05 -07:00