From d6241a3086c4abfd21e91e23c83c97c3f80123d4 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Tue, 28 Mar 2023 20:17:47 +0100 Subject: windows: only connect unmap when mapped --- src/Window.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/Window.cpp') diff --git a/src/Window.cpp b/src/Window.cpp index b8c7ab36..681de391 100644 --- a/src/Window.cpp +++ b/src/Window.cpp @@ -338,6 +338,8 @@ void CWindow::onUnmap() { std::erase_if(g_pCompositor->m_vWindowFocusHistory, [&](const auto& other) { return other == this; }); m_pWLSurface.unassign(); + + hyprListener_unmapWindow.removeCallback(); } void CWindow::onMap() { @@ -369,6 +371,8 @@ void CWindow::onMap() { m_fBorderAngleAnimationProgress = 1.f; g_pCompositor->m_vWindowFocusHistory.push_back(this); + + hyprListener_unmapWindow.initCallback(m_bIsX11 ? &m_uSurface.xwayland->events.unmap : &m_uSurface.xdg->events.unmap, &Events::listener_unmapWindow, this, "CWindow"); } void CWindow::onBorderAngleAnimEnd(void* ptr) { -- cgit v1.2.3