Hyprland/src/managers
Tom Englund 21325f9385
eventLoop: various eventloopmgr fixes (#13091)
* eventloopmgr: use unordered_map for readableWaiters

use an unordered_map with the raw ptr as key, avoids any risk of
dangling ptrs.

* eventloopmgr: read the timerfd fd

the manpage for timerfd_create and read states this.

timefd_create creates a new timer object, and returns a file descriptor
that can be used to read the number of expirations that have occurred.

The FD becomes readable when the timer expires.

read removes the “readable” state from the FD.

so most likely it has somewhat worked because of the scheduleRecalc()
function.

* eventloopmgr: avoid unneeded std::function copy

move the idle functions instead of copying.

* eventloopmgr: remove event source before calling fn

if fn causes a dispatch/reentry its gonna cause UB inside libwayland
itself, remove the event source before calling the fn() avoids that
entirerly. even if a new dispatch occurs.

* eventloopmgr: check if timer fd is readable

check if timerfd is readable before calling read on it, so we dont end
up blocking on an accident, log an error if its not readable.

* eventloopmgr: revert unordered_map change

my mistake, the address wasnt changing on reallocations of the heap
object. the only issue i was triggering was the reentry path in fn()
2026-01-27 12:11:54 +00:00
..
animation desktop: restore invisible floating window alpha/opacity when focused over fullscreen (#12994) 2026-01-21 15:55:12 +00:00
cursor cursor: refactor override handling (#12166) 2025-10-31 00:14:08 +00:00
eventLoop eventLoop: various eventloopmgr fixes (#13091) 2026-01-27 12:11:54 +00:00
input input/TI: avoid UAF in destroy 2026-01-05 18:53:29 +01:00
permissions debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
ANRManager.cpp anr: remove window on closewindow (#13007) 2026-01-17 10:23:09 +01:00
ANRManager.hpp anr: don't create for anr dialogs (#12601) 2025-12-14 17:19:35 +00:00
CursorManager.cpp debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
CursorManager.hpp desktop: cleanup, unify desktop elements as views (#12563) 2025-12-08 15:04:40 +00:00
DonationNagManager.cpp debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
DonationNagManager.hpp managers: refactor class member vars (#10242) 2025-05-02 17:07:20 +02:00
EventManager.cpp debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
EventManager.hpp managers: refactor class member vars (#10242) 2025-05-02 17:07:20 +02:00
HookSystemManager.cpp debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
HookSystemManager.hpp refactor: replace all typedef with using (#10594) 2025-05-31 14:02:02 +01:00
KeybindManager.cpp desktop/windowRule: allow expression in min_size/max_size (#12977) 2026-01-21 15:56:51 +00:00
KeybindManager.hpp Desktop/history: Move history to desktop (#12676) 2025-12-20 22:16:13 +00:00
LayoutManager.cpp debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
LayoutManager.hpp managers: refactor class member vars (#10242) 2025-05-02 17:07:20 +02:00
PointerManager.cpp pointermgr: remove onRenderBufferDestroy (#13008) 2026-01-18 13:51:14 +01:00
PointerManager.hpp desktop: cleanup, unify desktop elements as views (#12563) 2025-12-08 15:04:40 +00:00
ProtocolManager.cpp protocolMgr: remove IME / virtual input protocols from sandbox whitelist 2026-01-05 18:53:29 +01:00
ProtocolManager.hpp managers: refactor class member vars (#10242) 2025-05-02 17:07:20 +02:00
SeatManager.cpp debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
SeatManager.hpp protocols: implement pointer-warp-v1 (#11469) 2025-08-29 22:16:40 +02:00
SessionLockManager.cpp debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
SessionLockManager.hpp desktop: cleanup, unify desktop elements as views (#12563) 2025-12-08 15:04:40 +00:00
TokenManager.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
TokenManager.hpp managers: refactor class member vars (#10242) 2025-05-02 17:07:20 +02:00
VersionKeeperManager.cpp debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
VersionKeeperManager.hpp managers: refactor class member vars (#10242) 2025-05-02 17:07:20 +02:00
WelcomeManager.cpp debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
WelcomeManager.hpp welcome: init welcome manager (#12409) 2025-12-02 22:26:43 +00:00
XCursorManager.cpp debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
XCursorManager.hpp managers: refactor class member vars (#10242) 2025-05-02 17:07:20 +02:00
XWaylandManager.cpp core/xwaylandmgr: fix min/max clamp potentially crashing 2026-01-02 14:06:46 +01:00
XWaylandManager.hpp desktop: cleanup, unify desktop elements as views (#12563) 2025-12-08 15:04:40 +00:00