From 02446f507994cda4a4fd6b1c0563dd71e67d64d0 Mon Sep 17 00:00:00 2001 From: UjinT34 <41110182+UjinT34@users.noreply.github.com> Date: Tue, 17 Mar 2026 21:59:44 +0300 Subject: [PATCH] layershell: fix popup crash with nullptr mon (#13763) --- src/desktop/view/Popup.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/desktop/view/Popup.cpp b/src/desktop/view/Popup.cpp index f6f681d50..09943513b 100644 --- a/src/desktop/view/Popup.cpp +++ b/src/desktop/view/Popup.cpp @@ -201,7 +201,7 @@ void CPopup::onMap() { sendScale(); m_wlSurface->resource()->breadthfirst([PMONITOR](SP s, const Vector2D& offset, void* d) { s->enter(PMONITOR->m_self.lock()); }, nullptr); - if (!m_layerOwner.expired() && m_layerOwner->m_layer < ZWLR_LAYER_SHELL_V1_LAYER_TOP) + if (!m_layerOwner.expired() && m_layerOwner->m_layer < ZWLR_LAYER_SHELL_V1_LAYER_TOP && m_layerOwner->m_monitor) g_pHyprOpenGL->markBlurDirtyForMonitor(g_pCompositor->getMonitorFromID(m_layerOwner->m_layer)); m_alpha->setConfig(g_pConfigManager->getAnimationPropertyConfig("fadePopupsIn")); @@ -253,7 +253,7 @@ void CPopup::onUnmap() { m_subsurfaceHead.reset(); - if (!m_layerOwner.expired() && m_layerOwner->m_layer < ZWLR_LAYER_SHELL_V1_LAYER_TOP) + if (!m_layerOwner.expired() && m_layerOwner->m_layer < ZWLR_LAYER_SHELL_V1_LAYER_TOP && m_layerOwner->m_monitor) g_pHyprOpenGL->markBlurDirtyForMonitor(g_pCompositor->getMonitorFromID(m_layerOwner->m_layer)); // damage all children @@ -318,7 +318,7 @@ void CPopup::onCommit(bool ignoreSiblings) { m_requestedReposition = false; - if (!m_layerOwner.expired() && m_layerOwner->m_layer < ZWLR_LAYER_SHELL_V1_LAYER_TOP) + if (!m_layerOwner.expired() && m_layerOwner->m_layer < ZWLR_LAYER_SHELL_V1_LAYER_TOP && m_layerOwner->m_monitor) g_pHyprOpenGL->markBlurDirtyForMonitor(g_pCompositor->getMonitorFromID(m_layerOwner->m_layer)); }