summaryrefslogtreecommitdiff
path: root/src/managers/XWaylandManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/XWaylandManager.cpp')
-rw-r--r--src/managers/XWaylandManager.cpp11
1 files 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 "";