summaryrefslogtreecommitdiff
path: root/src/desktop/Window.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2024-05-22 22:37:02 +0200
committervaxerski <vaxry@vaxry.net>2024-05-22 22:37:16 +0200
commit3775776a07dc54347dd0859c7b6fc63aa3a4c7fd (patch)
tree808660d5ee56fdfa872f456f47e999975b072a41 /src/desktop/Window.cpp
parent155ae3721c5ef57321a7ef010369f0e03a358612 (diff)
window: guard monitor in bounding box calculations
fixes #6190
Diffstat (limited to 'src/desktop/Window.cpp')
-rw-r--r--src/desktop/Window.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/desktop/Window.cpp b/src/desktop/Window.cpp
index 56003eca..7987c9d6 100644
--- a/src/desktop/Window.cpp
+++ b/src/desktop/Window.cpp
@@ -87,9 +87,9 @@ SWindowDecorationExtents CWindow::getFullWindowExtents() {
const int BORDERSIZE = getRealBorderSize();
if (m_sAdditionalConfigData.dimAround) {
- const auto PMONITOR = g_pCompositor->getMonitorFromID(m_iMonitorID);
- return {{m_vRealPosition.value().x - PMONITOR->vecPosition.x, m_vRealPosition.value().y - PMONITOR->vecPosition.y},
- {PMONITOR->vecSize.x - (m_vRealPosition.value().x - PMONITOR->vecPosition.x), PMONITOR->vecSize.y - (m_vRealPosition.value().y - PMONITOR->vecPosition.y)}};
+ if (const auto PMONITOR = g_pCompositor->getMonitorFromID(m_iMonitorID); PMONITOR)
+ return {{m_vRealPosition.value().x - PMONITOR->vecPosition.x, m_vRealPosition.value().y - PMONITOR->vecPosition.y},
+ {PMONITOR->vecSize.x - (m_vRealPosition.value().x - PMONITOR->vecPosition.x), PMONITOR->vecSize.y - (m_vRealPosition.value().y - PMONITOR->vecPosition.y)}};
}
SWindowDecorationExtents maxExtents = {{BORDERSIZE + 2, BORDERSIZE + 2}, {BORDERSIZE + 2, BORDERSIZE + 2}};
@@ -147,8 +147,8 @@ SWindowDecorationExtents CWindow::getFullWindowExtents() {
CBox CWindow::getFullWindowBoundingBox() {
if (m_sAdditionalConfigData.dimAround) {
- const auto PMONITOR = g_pCompositor->getMonitorFromID(m_iMonitorID);
- return {PMONITOR->vecPosition.x, PMONITOR->vecPosition.y, PMONITOR->vecSize.x, PMONITOR->vecSize.y};
+ if (const auto PMONITOR = g_pCompositor->getMonitorFromID(m_iMonitorID); PMONITOR)
+ return {PMONITOR->vecPosition.x, PMONITOR->vecPosition.y, PMONITOR->vecSize.x, PMONITOR->vecSize.y};
}
auto maxExtents = getFullWindowExtents();