From 96365309de49b5641e61b0028199382dcc25f8b2 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Tue, 7 May 2024 11:53:29 +0100 Subject: [PATCH] deco-positioner: avoid infinite recalcs fixes #5908 --- src/render/decorations/DecorationPositioner.cpp | 6 ++++-- 1 file 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) {