wayland: Avoid redundant SetWindowBordered for libdecor

This commit is contained in:
Ethan Lee 2021-08-02 12:05:06 -04:00
parent b4c4060ad2
commit 8803589fc3
1 changed files with 13 additions and 1 deletions

View File

@ -713,7 +713,19 @@ void Wayland_ShowWindow(_THIS, SDL_Window *window)
* display, because we need to create the decorations before possibly hiding
* them immediately afterward.
*/
Wayland_SetWindowBordered(_this, window, !(window->flags & SDL_WINDOW_BORDERLESS));
#ifdef HAVE_LIBDECOR_H
if (c->shell.libdecor) {
/* ... but don't call it redundantly for libdecor, the decorator
* may not interpret a redundant call nicely and cause weird stuff to happen
*/
if (window->flags & SDL_WINDOW_BORDERLESS) {
Wayland_SetWindowBordered(_this, window, SDL_FALSE);
}
} else
#endif
{
Wayland_SetWindowBordered(_this, window, !(window->flags & SDL_WINDOW_BORDERLESS));
}
/* We're finally done putting the window together, raise if possible */
if (c->activation_manager) {