From 52c0ba544c55695b0fb0e3c5e9871fe599f7d36d Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Sun, 28 Aug 2022 10:14:43 +0200 Subject: Viewporter implementaion (#585) Implementation of the `wp_viewporter` core protocol and some bugfixes --- src/events/Popups.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/events/Popups.cpp') diff --git a/src/events/Popups.cpp b/src/events/Popups.cpp index f48f71be..5f5dbdab 100644 --- a/src/events/Popups.cpp +++ b/src/events/Popups.cpp @@ -18,14 +18,20 @@ void addPopupGlobalCoords(void* pPopup, int* x, int* y) { SXDGPopup *const PPOPUP = (SXDGPopup*)pPopup; + auto curPopup = PPOPUP; + int px = 0; int py = 0; - auto curPopup = PPOPUP; while (true) { px += curPopup->popup->current.geometry.x; py += curPopup->popup->current.geometry.y; + if (curPopup == PPOPUP && PPOPUP->parentWindow) { + px -= curPopup->popup->base->current.geometry.x; + py -= curPopup->popup->base->current.geometry.y; + } + // fix oversized fucking popups // kill me if (curPopup->pSurfaceTree && curPopup->pSurfaceTree->pSurface && !curPopup->parentPopup) { -- cgit v1.2.3