Wayland: Make function behavior match name

The logic that checks the decorated attribute belongs on the outside
along with other related checks (fullscreen, monitor, decoration mode).

(cherry picked from commit c4fbe80d90)
This commit is contained in:
Camilla Löwy 2022-06-21 19:37:35 +02:00
parent 1ac6fbc499
commit 758d4b1987

View File

@ -262,7 +262,7 @@ static void createFallbackDecorations(_GLFWwindow* window)
unsigned char data[] = { 224, 224, 224, 255 };
const GLFWimage image = { 1, 1, data };
if (!_glfw.wl.viewporter || !window->decorated)
if (!_glfw.wl.viewporter)
return;
if (!window->wl.decorations.buffer)
@ -318,7 +318,10 @@ static void xdgDecorationHandleConfigure(void* userData,
window->wl.xdg.decorationMode = mode;
if (mode == ZXDG_TOPLEVEL_DECORATION_V1_MODE_CLIENT_SIDE)
createFallbackDecorations(window);
{
if (window->decorated)
createFallbackDecorations(window);
}
else
destroyFallbackDecorations(window);
}
@ -489,7 +492,10 @@ static void releaseMonitor(_GLFWwindow* window)
setIdleInhibitor(window, GLFW_FALSE);
if (window->wl.xdg.decorationMode != ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE)
createFallbackDecorations(window);
{
if (window->decorated)
createFallbackDecorations(window);
}
}
static void xdgToplevelHandleConfigure(void* userData,
@ -690,7 +696,10 @@ static GLFWbool createShellObjects(_GLFWwindow* window)
zxdg_toplevel_decoration_v1_set_mode(window->wl.xdg.decoration, mode);
}
else
createFallbackDecorations(window);
{
if (window->decorated)
createFallbackDecorations(window);
}
}
if (window->minwidth != GLFW_DONT_CARE && window->minheight != GLFW_DONT_CARE)