Commit Graph
856 Commits
Author SHA1 Message Date
outfoxxed 2d3b3e9c70 core/generation: destroy generation extensions after js interruption 2026-08-29 02:11:43 -07:00
outfoxxed ec0be5b36f launch: initialize QuickshellTracked before almost anything else
This fixes consumers like WlSessionLock getting connections to
QGuiApplication::screenAdded before QuickshellTracked::updateScreens
can run if the user never references the Quickshell singleton from QML
first.
2026-08-28 19:27:13 -07:00
outfoxxed fd116897cf launch: create a QCoreApplication for non launch command paths
Things that need an event loop break without this.
2026-08-28 19:21:49 -07:00
outfoxxed 916a0dd90c launch: avoid creating multiple QApplications
Accessibility hooks created by QQuick module init are destroyed by the
QApplication destructor and not recreated by a new QApplication.
2026-08-28 00:48:19 -07:00
Carson Powers 0f9939ca4f networking: add NetworkManager service watcher 2026-08-25 23:36:53 -07:00
Carson Powers 052059fb7c networking: handle omitted mode setting in NM 2026-08-25 23:14:48 -07:00
outfoxxed 39e14d3627 service/tray: support /NO_DBUSMENU as a marker for absence of a menu
I couldn't find any documentation for this, but it was requested and
KDE also does it.
2026-08-25 23:03:30 -07:00
outfoxxed 9f59d0a05d wayland/lock: add warning on live session lock destruction 2026-08-25 17:22:27 -07:00
outfoxxed afb2c27cd6 wayland/lock: guard against reentrancy during surface creation 2026-08-25 02:14:21 -07:00
outfoxxed 0fed22a2c4 service/pam: fix free of wrong pointer in pam subprocess messaging 2026-08-22 16:08:41 -07:00
outfoxxed 1a4716cde7 version: 0.3.1 v0.3.1 2026-08-20 19:28:55 -07:00
outfoxxed 069e33a93e core/scriptmodel: structurally compare model entries
Comparisons regressed to being identity based when the values list was
changed from being a `QList<QVariant>` to `QList<QJSValue>`.
2026-08-20 19:08:57 -07:00
outfoxxed 532a0606ca core/scriptmodel: handle reentrancy in ScriptModel::setValues 2026-08-16 00:22:04 -07:00
outfoxxed 78672a8405 x11/panelwindow: avoid using destroyed panel stack after free 2026-08-15 20:53:19 -07:00
outfoxxed 990a8badab core/popupanchor: null check mItem in onItemWindowChanged
Also emit itemChanged in PopupAnchor::setItem().
2026-08-15 20:53:19 -07:00
outfoxxed 7e6c7ae3fb services/pipewire: match node and stream channels in peak sampling
Also fixes potentially requeuing a null buffer
2026-08-15 20:53:19 -07:00
outfoxxed 8f1316d0c2 wayland/screencopy: fix bo double free on alloc fail in createDmabuf
gbm_bo_free is already called by the WlDmaBuffer destructor
2026-08-15 20:53:19 -07:00
outfoxxed 63eb2ba6ef core/colorquant: copy source to operations and cancel on destroy
Fixes UAFing the source url in ColorQuantizerOperation if the
ColorQuantizer is destroyed.
2026-08-15 20:53:18 -07:00
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