diff --git a/src/video/x11/SDL_x11window.c b/src/video/x11/SDL_x11window.c index 7c211de23d..a1c5bb8219 100644 --- a/src/video/x11/SDL_x11window.c +++ b/src/video/x11/SDL_x11window.c @@ -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 */