From 66b0622bc58e06ddb069941638ee51587543d5b2 Mon Sep 17 00:00:00 2001 From: vaxerski Date: Fri, 12 Aug 2022 17:04:26 +0200 Subject: [PATCH] fixed popup unmap damage --- src/events/Popups.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/events/Popups.cpp b/src/events/Popups.cpp index 38c882a4..9a04e69a 100644 --- a/src/events/Popups.cpp +++ b/src/events/Popups.cpp @@ -151,7 +151,10 @@ void Events::listener_mapPopupXDG(void* owner, void* data) { int lx = 0, ly = 0; addPopupGlobalCoords(PPOPUP, &lx, &ly); - g_pHyprRenderer->damageBox(lx, ly, PPOPUP->popup->current.geometry.width, PPOPUP->popup->current.geometry.width); + wlr_box extents; + wlr_surface_get_extends(PPOPUP->popup->base->surface, &extents); + + g_pHyprRenderer->damageBox(lx, ly, extents.width + 2, extents.height + 2); Debug::log(LOG, "XDG Popup got assigned a surfaceTreeNode %x", PPOPUP->pSurfaceTree); } @@ -167,7 +170,10 @@ void Events::listener_unmapPopupXDG(void* owner, void* data) { int lx = 0, ly = 0; addPopupGlobalCoords(PPOPUP, &lx, &ly); - g_pHyprRenderer->damageBox(lx, ly, PPOPUP->popup->current.geometry.width, PPOPUP->popup->current.geometry.width); + wlr_box extents; + wlr_surface_get_extends(PPOPUP->popup->base->surface, &extents); + + g_pHyprRenderer->damageBox(lx, ly, extents.width + 2, extents.height + 2); PPOPUP->pSurfaceTree = nullptr; }