diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-03-28 22:31:39 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-03-28 22:31:39 +0200 |
| commit | ad4fc28f781e01c95e8fedc039451120f6c21250 (patch) | |
| tree | 59ef955d108a436c7a5491aca983d30010d9f351 /src/events/Monitors.cpp | |
| parent | 000b16585f8d053eaef1561bcb5989d7a55e6c20 (diff) | |
🎉 Wrapped dynamic event handlers
Diffstat (limited to 'src/events/Monitors.cpp')
| -rw-r--r-- | src/events/Monitors.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp index c2c74bf4..da336106 100644 --- a/src/events/Monitors.cpp +++ b/src/events/Monitors.cpp @@ -79,8 +79,8 @@ void Events::listener_newOutput(wl_listener* listener, void* data) { g_pCompositor->m_lMonitors.push_back(newMonitor); // - addWLSignal(&OUTPUT->events.frame, &g_pCompositor->m_lMonitors.back().listen_monitorFrame, &g_pCompositor->m_lMonitors.back(), "Monitor"); - addWLSignal(&OUTPUT->events.destroy, &g_pCompositor->m_lMonitors.back().listen_monitorDestroy, &g_pCompositor->m_lMonitors.back(), "Monitor"); + g_pCompositor->m_lMonitors.back().hyprListener_monitorFrame.initCallback(&OUTPUT->events.frame, &Events::listener_monitorFrame, &g_pCompositor->m_lMonitors.back()); + g_pCompositor->m_lMonitors.back().hyprListener_monitorDestroy.initCallback(&OUTPUT->events.destroy, &Events::listener_monitorDestroy, &g_pCompositor->m_lMonitors.back()); wlr_output_enable(OUTPUT, 1); if (!wlr_output_commit(OUTPUT)) { @@ -95,8 +95,8 @@ void Events::listener_newOutput(wl_listener* listener, void* data) { Debug::log(LOG, "Added new monitor with name %s at %i,%i with size %ix%i@%i, pointer %x", OUTPUT->name, (int)monitorRule.offset.x, (int)monitorRule.offset.y, (int)monitorRule.resolution.x, (int)monitorRule.resolution.y, (int)monitorRule.refreshRate, OUTPUT); } -void Events::listener_monitorFrame(wl_listener* listener, void* data) { - SMonitor* const PMONITOR = wl_container_of(listener, PMONITOR, listen_monitorFrame); +void Events::listener_monitorFrame(void* owner, void* data) { + SMonitor* const PMONITOR = (SMonitor*)owner; // Hack: only check when monitor number 1 refreshes, saves a bit of resources. // This is for stuff that should be run every frame @@ -125,7 +125,7 @@ void Events::listener_monitorFrame(wl_listener* listener, void* data) { wlr_output_commit(PMONITOR->output); } -void Events::listener_monitorDestroy(wl_listener* listener, void* data) { +void Events::listener_monitorDestroy(void* owner, void* data) { const auto OUTPUT = (wlr_output*)data; SMonitor* pMonitor = nullptr; |
