window: avoid nullptr deref on monitor in box helpers

fixes #6321
This commit is contained in:
Vaxry 2024-06-03 21:09:18 +02:00
parent 3fd6c1b30e
commit b30c7125d7

View file

@ -176,11 +176,13 @@ CBox CWindow::getFullWindowBoundingBox() {
} }
CBox CWindow::getWindowIdealBoundingBoxIgnoreReserved() { CBox CWindow::getWindowIdealBoundingBoxIgnoreReserved() {
const auto PMONITOR = g_pCompositor->getMonitorFromID(m_iMonitorID); const auto PMONITOR = g_pCompositor->getMonitorFromID(m_iMonitorID);
auto POS = m_vPosition; if (!PMONITOR)
auto SIZE = m_vSize; return {m_vPosition, m_vSize};
auto POS = m_vPosition;
auto SIZE = m_vSize;
if (m_bIsFullscreen) { if (m_bIsFullscreen) {
POS = PMONITOR->vecPosition; POS = PMONITOR->vecPosition;
@ -208,10 +210,10 @@ CBox CWindow::getWindowIdealBoundingBoxIgnoreReserved() {
} }
CBox CWindow::getWindowBoxUnified(uint64_t properties) { CBox CWindow::getWindowBoxUnified(uint64_t properties) {
if (m_sAdditionalConfigData.dimAround) { if (m_sAdditionalConfigData.dimAround) {
const auto PMONITOR = g_pCompositor->getMonitorFromID(m_iMonitorID); const auto PMONITOR = g_pCompositor->getMonitorFromID(m_iMonitorID);
return {PMONITOR->vecPosition.x, PMONITOR->vecPosition.y, PMONITOR->vecSize.x, PMONITOR->vecSize.y}; if (PMONITOR)
return {PMONITOR->vecPosition.x, PMONITOR->vecPosition.y, PMONITOR->vecSize.x, PMONITOR->vecSize.y};
} }
SWindowDecorationExtents EXTENTS = {{0, 0}, {0, 0}}; SWindowDecorationExtents EXTENTS = {{0, 0}, {0, 0}};