diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-08-05 19:41:50 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-08-05 19:41:50 +0200 |
| commit | b30bb22bb81973cd98f9b0f612bf7750243a940e (patch) | |
| tree | 9023dae6e765658b2c073bbc69a9e1058948b41b /src/managers/XWaylandManager.cpp | |
| parent | d72f1cc644b30b1517d5a1725fb9014cffde5642 (diff) | |
fix crash in getMaxSizeForWindow
Diffstat (limited to 'src/managers/XWaylandManager.cpp')
| -rw-r--r-- | src/managers/XWaylandManager.cpp | 6 |
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); |
