diff --git a/src/layout/MasterLayout.cpp b/src/layout/MasterLayout.cpp index 6021fac2..f8b8f9a2 100644 --- a/src/layout/MasterLayout.cpp +++ b/src/layout/MasterLayout.cpp @@ -544,6 +544,9 @@ std::any CHyprMasterLayout::layoutMessage(SLayoutMessageHeader header, std::stri if (message == "swapwithmaster") { const auto PWINDOW = header.pWindow; + if (!PWINDOW) + return 0; + if (!isWindowTiled(PWINDOW)) return 0; @@ -559,6 +562,10 @@ std::any CHyprMasterLayout::layoutMessage(SLayoutMessageHeader header, std::stri return 0; } else if (message == "focusmaster") { const auto PWINDOW = header.pWindow; + + if (!PWINDOW) + return 0; + const auto PMASTER = getMasterNodeOnWorkspace(PWINDOW->m_iWorkspaceID); if (!PMASTER || PMASTER->pWindow == PWINDOW) @@ -570,10 +577,16 @@ std::any CHyprMasterLayout::layoutMessage(SLayoutMessageHeader header, std::stri } else if (message == "cyclenext") { const auto PWINDOW = header.pWindow; + if (!PWINDOW) + return 0; + switchToWindow(getNextWindow(PWINDOW, true)); } else if (message == "cycleprev") { const auto PWINDOW = header.pWindow; + if (!PWINDOW) + return 0; + switchToWindow(getNextWindow(PWINDOW, false)); } else if (message == "swapnext") { if (!g_pCompositor->windowValidMapped(header.pWindow))