Wayland: Fix toggling of server-side decorations

This is a temporary local fix to have updates to GLFW_DECORATED mostly
work as intended.  The whole decoration state machine needs to be
restructured, but not by this commit.
This commit is contained in:
Camilla Löwy
2022-06-13 19:37:34 +02:00
parent c28d420060
commit 229d628ec4
2 changed files with 19 additions and 3 deletions

View File

@@ -2098,10 +2098,24 @@ void _glfwSetWindowResizableWayland(_GLFWwindow* window, GLFWbool enabled)
void _glfwSetWindowDecoratedWayland(_GLFWwindow* window, GLFWbool enabled)
{
if (enabled)
createDecorations(window);
if (window->wl.xdg.decoration)
{
uint32_t mode;
if (enabled)
mode = ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE;
else
mode = ZXDG_TOPLEVEL_DECORATION_V1_MODE_CLIENT_SIDE;
zxdg_toplevel_decoration_v1_set_mode(window->wl.xdg.decoration, mode);
}
else
destroyDecorations(window);
{
if (enabled)
createDecorations(window);
else
destroyDecorations(window);
}
}
void _glfwSetWindowFloatingWayland(_GLFWwindow* window, GLFWbool enabled)