summaryrefslogtreecommitdiff
path: root/src/managers/XWaylandManager.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-08-05 19:41:50 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-08-05 19:41:50 +0200
commitb30bb22bb81973cd98f9b0f612bf7750243a940e (patch)
tree9023dae6e765658b2c073bbc69a9e1058948b41b /src/managers/XWaylandManager.cpp
parentd72f1cc644b30b1517d5a1725fb9014cffde5642 (diff)
fix crash in getMaxSizeForWindow
Diffstat (limited to 'src/managers/XWaylandManager.cpp')
-rw-r--r--src/managers/XWaylandManager.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp
index 5688a849..10e3c6d4 100644
--- a/src/managers/XWaylandManager.cpp
+++ b/src/managers/XWaylandManager.cpp
@@ -233,6 +233,12 @@ void CHyprXWaylandManager::setWindowFullscreen(CWindow* pWindow, bool fullscreen
}
Vector2D CHyprXWaylandManager::getMaxSizeForWindow(CWindow* pWindow) {
+ if (!g_pCompositor->windowValidMapped(pWindow))
+ return Vector2D(99999, 99999);
+
+ if ((pWindow->m_bIsX11 && !pWindow->m_uSurface.xwayland->size_hints) || (!pWindow->m_bIsX11 && !pWindow->m_uSurface.xdg->toplevel))
+ return Vector2D(99999, 99999);
+
auto MAXSIZE = pWindow->m_bIsX11 ? Vector2D(pWindow->m_uSurface.xwayland->size_hints->max_width, pWindow->m_uSurface.xwayland->size_hints->max_height)
: Vector2D(pWindow->m_uSurface.xdg->toplevel->current.max_width, pWindow->m_uSurface.xdg->toplevel->current.max_height);