From 1698d336f2511ee7c93d0a520c7ba3491c831e8d Mon Sep 17 00:00:00 2001 From: Vaxry Date: Thu, 29 Feb 2024 17:23:44 +0000 Subject: core: fix crashes on access of deleted wlr_ surface ref fixes #4893 --- src/managers/XWaylandManager.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/managers/XWaylandManager.cpp') diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp index 1704ee99..2dcb3bcc 100644 --- a/src/managers/XWaylandManager.cpp +++ b/src/managers/XWaylandManager.cpp @@ -107,6 +107,9 @@ std::string CHyprXWaylandManager::getTitle(CWindow* pWindow) { return std::string(pWindow->m_uSurface.xwayland->title); } } else if (pWindow->m_uSurface.xdg) { + if (pWindow->m_bFadingOut || !pWindow->m_uSurface.xdg) + return ""; + if (pWindow->m_uSurface.xdg->toplevel && pWindow->m_uSurface.xdg->toplevel->title) { return std::string(pWindow->m_uSurface.xdg->toplevel->title); } @@ -128,6 +131,9 @@ std::string CHyprXWaylandManager::getAppIDClass(CWindow* pWindow) { return std::string(pWindow->m_uSurface.xwayland->_class); } } else if (pWindow->m_uSurface.xdg) { + if (pWindow->m_bFadingOut || !pWindow->m_uSurface.xdg) + return ""; + if (pWindow->m_uSurface.xdg->toplevel && pWindow->m_uSurface.xdg->toplevel->app_id) { return std::string(pWindow->m_uSurface.xdg->toplevel->app_id); } -- cgit v1.2.3