summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMightyPlaza <123664421+MightyPlaza@users.noreply.github.com>2024-08-03 17:50:08 +0000
committerGitHub <noreply@github.com>2024-08-03 19:50:08 +0200
commit51ffd7fa6f186419276e5d3d5fe141a3fdb3c55c (patch)
tree0a3d093bcefa0abef55e72ae62d50505a366b8f7 /src
parentae50f8614d92132d918663ea7551bd68eb13953a (diff)
decorations: fix infinite recursion on no_gaps when only (#7169)
modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp
Diffstat (limited to 'src')
-rw-r--r--src/layout/DwindleLayout.cpp5
-rw-r--r--src/layout/MasterLayout.cpp5
-rw-r--r--src/render/decorations/CHyprBorderDecoration.cpp2
3 files changed, 5 insertions, 7 deletions
diff --git a/src/layout/DwindleLayout.cpp b/src/layout/DwindleLayout.cpp
index 7253275d..f287056f 100644
--- a/src/layout/DwindleLayout.cpp
+++ b/src/layout/DwindleLayout.cpp
@@ -141,7 +141,6 @@ void CHyprDwindleLayout::applyNodeDataToWindow(SDwindleNodeData* pNode, bool for
PWINDOW->unsetWindowData(PRIORITY_LAYOUT);
PWINDOW->updateWindowData();
- PWINDOW->updateWindowDecos();
static auto PNOGAPSWHENONLY = CConfigValue<Hyprlang::INT>("dwindle:no_gaps_when_only");
static auto PGAPSINDATA = CConfigValue<Hyprlang::CUSTOMTYPE>("general:gaps_in");
@@ -178,6 +177,8 @@ void CHyprDwindleLayout::applyNodeDataToWindow(SDwindleNodeData* pNode, bool for
return;
}
+ PWINDOW->updateWindowDecos();
+
auto calcPos = PWINDOW->m_vPosition;
auto calcSize = PWINDOW->m_vSize;
@@ -245,8 +246,6 @@ void CHyprDwindleLayout::applyNodeDataToWindow(SDwindleNodeData* pNode, bool for
g_pHyprRenderer->damageWindow(PWINDOW);
}
-
- PWINDOW->updateWindowDecos();
}
void CHyprDwindleLayout::onWindowCreatedTiling(PHLWINDOW pWindow, eDirection direction) {
diff --git a/src/layout/MasterLayout.cpp b/src/layout/MasterLayout.cpp
index e3aaa767..be00168f 100644
--- a/src/layout/MasterLayout.cpp
+++ b/src/layout/MasterLayout.cpp
@@ -650,7 +650,6 @@ void CHyprMasterLayout::applyNodeDataToWindow(SMasterNodeData* pNode) {
PWINDOW->unsetWindowData(PRIORITY_LAYOUT);
PWINDOW->updateWindowData();
- PWINDOW->updateWindowDecos();
static auto PNOGAPSWHENONLY = CConfigValue<Hyprlang::INT>("master:no_gaps_when_only");
static auto PANIMATE = CConfigValue<Hyprlang::INT>("misc:animate_manual_resizes");
@@ -689,6 +688,8 @@ void CHyprMasterLayout::applyNodeDataToWindow(SMasterNodeData* pNode) {
return;
}
+ PWINDOW->updateWindowDecos();
+
auto calcPos = PWINDOW->m_vPosition;
auto calcSize = PWINDOW->m_vSize;
@@ -731,8 +732,6 @@ void CHyprMasterLayout::applyNodeDataToWindow(SMasterNodeData* pNode) {
g_pHyprRenderer->damageWindow(PWINDOW);
}
-
- PWINDOW->updateWindowDecos();
}
bool CHyprMasterLayout::isWindowTiled(PHLWINDOW pWindow) {
diff --git a/src/render/decorations/CHyprBorderDecoration.cpp b/src/render/decorations/CHyprBorderDecoration.cpp
index ddb38c6e..f5e6e945 100644
--- a/src/render/decorations/CHyprBorderDecoration.cpp
+++ b/src/render/decorations/CHyprBorderDecoration.cpp
@@ -93,7 +93,7 @@ void CHyprBorderDecoration::updateWindow(PHLWINDOW) {
m_iLastBorderSize = borderSize;
- g_pEventLoopManager->doLater([this]() { g_pDecorationPositioner->repositionDeco(this); });
+ g_pDecorationPositioner->repositionDeco(this);
}
void CHyprBorderDecoration::damageEntire() {