|
@@ -604,8 +604,14 @@ int X11_CreateWindow(SDL_VideoDevice *_this, SDL_Window *window)
|
|
|
return SDL_SetError("Couldn't create window");
|
|
|
}
|
|
|
|
|
|
- SetWindowBordered(display, screen, w,
|
|
|
- !(window->flags & SDL_WINDOW_BORDERLESS));
|
|
|
+ /* Do not set borderless window if in desktop fullscreen, this causes
|
|
|
+ flickering in multi-monitor setups */
|
|
|
+ if (!((window->pending_flags & SDL_WINDOW_FULLSCREEN) &&
|
|
|
+ (window->flags & SDL_WINDOW_BORDERLESS) &&
|
|
|
+ !window->fullscreen_exclusive)) {
|
|
|
+ SetWindowBordered(display, screen, w,
|
|
|
+ !(window->flags & SDL_WINDOW_BORDERLESS));
|
|
|
+ }
|
|
|
|
|
|
sizehints = X11_XAllocSizeHints();
|
|
|
/* Setup the normal size hints */
|