summaryrefslogtreecommitdiff
path: root/src/events/Popups.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2022-08-12 17:04:26 +0200
committervaxerski <vaxry@vaxry.net>2022-08-12 17:04:26 +0200
commit66b0622bc58e06ddb069941638ee51587543d5b2 (patch)
treee49150b77e93c7770389f4320058fcd3b60b27a7 /src/events/Popups.cpp
parent0e57651e2fb8742721e5fc534c3eb26f88b5c22f (diff)
fixed popup unmap damage
Diffstat (limited to 'src/events/Popups.cpp')
-rw-r--r--src/events/Popups.cpp10
1 files 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;
}