diff options
| author | Vaxry <vaxry@vaxry.net> | 2024-05-07 11:53:29 +0100 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2024-05-07 11:53:29 +0100 |
| commit | 96365309de49b5641e61b0028199382dcc25f8b2 (patch) | |
| tree | 1faa82e1b77ef7e05e949d404e532b038a60b08f /src/render/decorations/DecorationPositioner.cpp | |
| parent | 0acad88c3c837840b01e1b61069a1a7e95944607 (diff) | |
deco-positioner: avoid infinite recalcs
fixes #5908
Diffstat (limited to 'src/render/decorations/DecorationPositioner.cpp')
| -rw-r--r-- | src/render/decorations/DecorationPositioner.cpp | 6 |
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) { |
