diff --git a/src/video/x11/SDL_x11window.c b/src/video/x11/SDL_x11window.c index fd1be433ab..ea8901d228 100644 --- a/src/video/x11/SDL_x11window.c +++ b/src/video/x11/SDL_x11window.c @@ -418,7 +418,7 @@ int X11_CreateWindow(_THIS, SDL_Window *window) #if SDL_VIDEO_OPENGL_EGL if (((_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES) || SDL_GetHintBoolean(SDL_HINT_VIDEO_X11_FORCE_EGL, SDL_FALSE)) -#if SDL_VIDEO_OPENGL_GLX +#if SDL_VIDEO_OPENGL_GLX && ( !_this->gl_data || X11_GL_UseEGL(_this) ) #endif ) { @@ -641,9 +641,9 @@ int X11_CreateWindow(_THIS, SDL_Window *window) if ((window->flags & SDL_WINDOW_OPENGL) && ((_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES) || SDL_GetHintBoolean(SDL_HINT_VIDEO_X11_FORCE_EGL, SDL_FALSE)) -#if SDL_VIDEO_OPENGL_GLX +#if SDL_VIDEO_OPENGL_GLX && ( !_this->gl_data || X11_GL_UseEGL(_this) ) -#endif +#endif ) { #if SDL_VIDEO_OPENGL_EGL if (!_this->egl_data) { @@ -979,6 +979,10 @@ void X11_SetWindowSize(_THIS, SDL_Window *window) } if (SDL_TICKS_PASSED(SDL_GetTicks(), timeout)) { + /* Timeout occurred and window size didn't change + * wwindow manager likely denied the resize. */ + window->w = orig_w; + window->h = orig_h; break; }