Commit Graph
838 Commits
Author SHA1 Message Date
outfoxxed b1fc3e0740 io/fileview: disconnect deleteLater'd file watchers immediately
Without this disconnect, the watcher can send a signal whose handler
references the (now null) watcher pointer before the watcher is deleted.
2026-08-15 16:04:18 -07:00
outfoxxed 21fec77de7 wayland/toplevel: null check window passed to Toplevel::setRectangle
Fixes Toplevel::unsetRectangle, which passes a null.
2026-08-15 15:55:46 -07:00
outfoxxed d9cbc90a8c io/fileview: fix swapped new/old branch in JsonAdapter deserialize 2026-08-15 14:44:52 -07:00
outfoxxed 28771c7c74 ipc: ensure handler deregistration upon destruction
Deregistration when an engine generation lookup fails has been
reported as an issue but couldn't be reproduced. This is a speculative
fix.
2026-08-02 13:53:41 -07:00
outfoxxed 43d4fa9e88 crash: strip crash env and avoid leaking crash info fd on launch 2026-07-26 23:37:18 -07:00
outfoxxed 10b439fc6e launch: prevent double initialization of logger 2026-07-23 02:42:56 -07:00
outfoxxed e649d24749 launch: don't print dead instance help logs from --no-duplicate 2026-07-20 19:22:17 -07:00
outfoxxed 025c709e94 ipc: wait for remote process to exit before returning from kill 2026-07-20 19:21:27 -07:00
outfoxxed 4df562dfb2 service/notifications: emit NotificationClosed after Notify returns 2026-07-10 01:58:38 -07:00
outfoxxed 98b6d0b7e7 io/ipchandler: stop reimplementing QVariant in ipc value slots 2026-07-10 01:26:48 -07:00
outfoxxed 25eb04fb06 tooling: use QList<QJSValue> over QJSValueList
QJSValueList is not currently a defined QML type, breaking qmllint and qmlls.
2026-07-08 01:23:01 -07:00
outfoxxed ead3b00afd networking: fix UAFs in NMWirelessNetwork ap/setting destroy handler 2026-07-07 00:34:06 -07:00
outfoxxed a611932352 core/scriptmodel: represent members as a QJSValueList
Fixes UAFs caused by access to pointers stored either directly or
contained in an object inside a ScriptModel which were freed and then
accessed.

These accesses could be observed by not setting `values` to a binding,
access before updateValuesUnique finished, or randomly before a
binding had been fully updated.
2026-07-06 23:45:42 -07:00
outfoxxed 1661ef100a wm: recompute WindowsetProjection.screens on each usage
Fixes potential UAF from destroyed screens not yet removed by a
wayland commit.
2026-06-30 02:31:19 -07:00
bbedward 68c2c85c33 core/window: render a frame when re-enabling updatesEnabled 2026-06-18 22:43:11 -07:00
luke 897fcdaa99 wayland/lock: avoid creating lock surfaces for uninited wl screens 2026-06-17 22:59:12 -07:00
outfoxxed d99d87d5e5 crash: remove logs from crash template 2026-06-09 18:04:48 -07:00
outfoxxed b66495fcc5 all: add/fix property change signals on various properties
- FileView.atomicWrites notified on blockWrites
- StatusNotifierItem.onlyMenu missing notification
- MarginWrapper.extraMargin missing notification
- MarginWrapper.resizeChild missing notification
- PopupWindow.grabFocus missing notification
2026-06-01 01:48:57 -07:00
outfoxxed eaba6c8b62 services/mpris: fix minRate and maxRate returning rate 2026-06-01 01:37:19 -07:00
outfoxxed 4b4fca3224 docs: document private ABI usage 2026-05-21 23:14:12 -07:00
outfoxxed 7d1c9a9c67 wayland/toplevel: reorganize toplevel management 2026-05-11 01:38:16 -07:00
Aditya Alok d1760ed1f3 wayland/lock: add window null check in surface isVisible 2026-05-07 23:40:27 -07:00
outfoxxed b93d61385f wayland/lock: run scenegraph callbacks for lock surfaces
Fixes ScreencopyView never initializing if only using lock surfaces.
2026-05-07 03:08:57 -07:00
outfoxxed 59e9c47b0e version: 0.3.0 v0.3.0 2026-05-03 22:09:49 -07:00
outfoxxed ffe95f06ac guix: drop
Hard to keep the package up to date without an active maintainer.
2026-05-03 18:50:15 -07:00
outfoxxed 8db8ca1fec core/log: mask virtual/override property warnings 2026-05-02 00:15:59 -07:00
outfoxxed 0baa81aa03 all: fix typos 2026-04-27 18:56:41 -07:00
outfoxxed 01834e9c8f hyprland/ipc: add lua ipc support 2026-04-27 18:56:39 -07:00
outfoxxed 2ba2ae48b4 core: add qt version check in preprocessor 2026-04-27 02:18:32 -07:00
Jörg Thalheim 055e384668 core/model: make diffUpdate handle reordering without duplicating rows
diffUpdate inserted an element at its target index without removing it
from its previous index, so a pure permutation like [d,a,b,c] ->
[a,b,c,d] left every misplaced element in the model twice and the
removal pass never reclaimed them because their pointer is still in
newValues. Any caller that re-sorts an existing list (dbusmenu
re-layout, desktopentry re-scan) can hit this. Found via a downstream
niri workspace backend where a monitor hot-plug re-sorts the model.
2026-04-26 12:59:02 +02:00
outfoxxed 11a71d233a dbus/dbusmenu: connect onItemPropertiesUpdated
Evidently this was broken at some point or never connected.
2026-04-24 21:01:49 -07:00
outfoxxed e162429b6f wayland/toplevel: track global screen removals
Screen removal events aren't necessarily emitted at a protocol level
when a screen is removed globally.

This would have caused UAFs if the pointer was ever dereferenced, but
in practice it was only compared against.
2026-04-24 01:30:59 -07:00
outfoxxed 783c953987 services/pipewire: assume default channels in channelMap if unset
Pw-pulse seems to have stopped sending these at some point. This
copies the logic that pipewire's tools use to decide the default channels.
2026-04-22 03:34:08 -07:00
outfoxxed b850b8a1a9 core: add DefaultEnv pragma 2026-04-22 01:12:10 -07:00
Carson Powers d60498adc0 networking: add wired device support 2026-04-21 01:48:20 -07:00
outfoxxed 9a54119893 core/command: warn on mismatch when other displays have instances 2026-04-19 02:01:41 -07:00
outfoxxed 18075d1218 core/command: ignore QT_QPA_PLATFORM in display check 2026-04-19 02:01:19 -07:00
outfoxxed fb08eced44 wayland/screencopy: intersect dmabuf and render formats + cleanup
Fixes 99% of MGPU cases.
2026-04-13 00:41:08 -07:00
outfoxxed d4c92973b5 i3/ipc: ensure monitor/workspace pointers are nulled on destroy 2026-04-09 00:34:57 -07:00
outfoxxed 7f7ab6bc8a launch: use dup2 to reset daemon stdio over close+open 2026-04-09 00:10:49 -07:00
outfoxxed 7208f68bb7 core: add QS_DROP_EXPENSIVE_FONTS env var 2026-04-08 01:35:15 -07:00
outfoxxed f0d0216b3d core: add DropExpensiveFonts pragma disabling woff and woff2 fonts 2026-04-08 00:48:58 -07:00
outfoxxed 7c5a6c4bd4 core/log: crash if Quickshell's log filter is installed twice
Crashes from recursion inside filterCategories through the old filter
have been observed. Presumably this means the log filter is getting
installed twice somehow. This should catch it.
2026-04-06 00:45:26 -07:00
outfoxxed 5bf6a412b0 core: correctly construct runtime path when XDG_RUNTIME_DIR missing
Fixes a typo of % as $, which broke string substitution.
2026-04-06 00:43:02 -07:00
outfoxxed 13fe9b0d98 services/pipewire: avoid blanket disconnect for default nodes
The same nodes can be both default and default configured nodes. When
the default and default configured node are not changed in unison, a
blanket disconnect will also disconnect the other's destroy handler,
causing a crash if the other is accessed after the node is destroyed.
2026-04-06 00:42:29 -07:00
outfoxxed ad5fd9116e wm: add nullptr guard to WindowManager::screenProjection 2026-04-04 13:51:32 -07:00
outfoxxed 49d4f46cf1 io/fileview: handle deserialization to list<T> properties 2026-04-04 13:05:33 -07:00
outfoxxed 9b98d10178 io/fileview: try to convert values to json before handling sequences
The previous code was interpreting a string as a list of characters
and therefore a sequence.
2026-04-04 12:28:40 -07:00
outfoxxed 854088c48c io/fileview: convert containers to QVariantList/Map before serialize
QJsonValue::fromVariant doesn't do this automatically for some reason.
2026-04-04 02:06:22 -07:00
bbedward b4e71cb2c0 core/window: add parentWindow property to FloatingWindow 2026-04-03 21:36:18 -07:00