diff options
| author | vaxerski <vaxry@vaxry.net> | 2024-05-22 22:37:02 +0200 |
|---|---|---|
| committer | vaxerski <vaxry@vaxry.net> | 2024-05-22 22:37:16 +0200 |
| commit | 3775776a07dc54347dd0859c7b6fc63aa3a4c7fd (patch) | |
| tree | 808660d5ee56fdfa872f456f47e999975b072a41 /src/desktop/Window.cpp | |
| parent | 155ae3721c5ef57321a7ef010369f0e03a358612 (diff) | |
window: guard monitor in bounding box calculations
fixes #6190
Diffstat (limited to 'src/desktop/Window.cpp')
| -rw-r--r-- | src/desktop/Window.cpp | 10 |
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(); |
