From ae3d1ec3adccac586f90146b900b5f6af0199350 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Tue, 29 Mar 2022 15:30:08 +0200 Subject: [PATCH] fix crash --- src/managers/XWaylandManager.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp index e588f21f..9bdd992b 100644 --- a/src/managers/XWaylandManager.cpp +++ b/src/managers/XWaylandManager.cpp @@ -51,18 +51,21 @@ void CHyprXWaylandManager::getGeometryForWindow(CWindow* pWindow, wlr_box* pbox) std::string CHyprXWaylandManager::getTitle(CWindow* pWindow) { try { if (pWindow->m_bIsX11) { - if (pWindow->m_uSurface.xwayland) { + if (pWindow->m_uSurface.xwayland && pWindow->m_uSurface.xwayland->title) { return std::string(pWindow->m_uSurface.xwayland->title); } } else if (pWindow->m_uSurface.xdg) { - if (pWindow->m_uSurface.xdg->toplevel) { + if (pWindow->m_uSurface.xdg->toplevel && pWindow->m_uSurface.xdg->toplevel->title) { return std::string(pWindow->m_uSurface.xdg->toplevel->title); } } else { return ""; } - } catch (std::logic_error& e) { - Debug::log(ERR, "Error in getTitle: %s", e.what()); + } catch (std::exception& e) { + if (e.what()) + Debug::log(ERR, "Error in getTitle: %s", e.what()); + else + Debug::log(ERR, "Error in getTitle [e.what() nullptr]"); } return "";