summaryrefslogtreecommitdiff
path: root/src/render/decorations/DecorationPositioner.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2024-05-07 11:53:29 +0100
committerVaxry <vaxry@vaxry.net>2024-05-07 11:53:29 +0100
commit96365309de49b5641e61b0028199382dcc25f8b2 (patch)
tree1faa82e1b77ef7e05e949d404e532b038a60b08f /src/render/decorations/DecorationPositioner.cpp
parent0acad88c3c837840b01e1b61069a1a7e95944607 (diff)
deco-positioner: avoid infinite recalcs
fixes #5908
Diffstat (limited to 'src/render/decorations/DecorationPositioner.cpp')
-rw-r--r--src/render/decorations/DecorationPositioner.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/render/decorations/DecorationPositioner.cpp b/src/render/decorations/DecorationPositioner.cpp
index d46af035..17f6d913 100644
--- a/src/render/decorations/DecorationPositioner.cpp
+++ b/src/render/decorations/DecorationPositioner.cpp
@@ -271,8 +271,10 @@ void CDecorationPositioner::onWindowUpdate(PHLWINDOW pWindow) {
}
}
- WINDOWDATA->extents = {{stickyOffsetXL + reservedXL, stickyOffsetYT + reservedYT}, {stickyOffsetXR + reservedXR, stickyOffsetYB + reservedYB}};
- g_pLayoutManager->getCurrentLayout()->recalculateWindow(pWindow);
+ if (WINDOWDATA->extents != SWindowDecorationExtents{{stickyOffsetXL + reservedXL, stickyOffsetYT + reservedYT}, {stickyOffsetXR + reservedXR, stickyOffsetYB + reservedYB}}) {
+ WINDOWDATA->extents = {{stickyOffsetXL + reservedXL, stickyOffsetYT + reservedYT}, {stickyOffsetXR + reservedXR, stickyOffsetYB + reservedYB}};
+ g_pLayoutManager->getCurrentLayout()->recalculateWindow(pWindow);
+ }
}
void CDecorationPositioner::onWindowUnmap(PHLWINDOW pWindow) {