summaryrefslogtreecommitdiff
path: root/src/desktop/view/Window.cpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2026-04-04 09:06:07 -0400
committerGitHub <noreply@github.com>2026-04-04 14:06:07 +0100
commit29cf6264a29752de3ed74cacbac6b1d2dbf1ad55 (patch)
tree2d052b77a54acadda94fc5b9825f8f18562ae640 /src/desktop/view/Window.cpp
parent43f7f683d0ac667f2a5273f5e9a3ec0fc0d999e1 (diff)
desktop/window: reduce window deco updates (#13980)
AVARDAMAGE_ENTIRE doesn't mean the geometry changed, so no point in an expensive update
Diffstat (limited to 'src/desktop/view/Window.cpp')
-rw-r--r--src/desktop/view/Window.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/desktop/view/Window.cpp b/src/desktop/view/Window.cpp
index 2a388d68..e9f22021 100644
--- a/src/desktop/view/Window.cpp
+++ b/src/desktop/view/Window.cpp
@@ -658,12 +658,21 @@ void CWindow::onMap() {
false);
m_realSize->setUpdateCallback([this](auto) {
- if (m_isMapped)
- m_events.resize.emit();
+ if (!m_isMapped)
+ return;
+
+ updateWindowDecos();
+
+ m_events.resize.emit();
});
m_realPosition->setUpdateCallback([this](auto) {
- if (m_isMapped && m_monitor != m_prevMonitor) {
+ if (!m_isMapped)
+ return;
+
+ updateWindowDecos();
+
+ if (m_monitor != m_prevMonitor) {
m_prevMonitor = m_monitor;
m_events.monitorChanged.emit();
}