diff --git a/src/video/x11/SDL_x11events.c b/src/video/x11/SDL_x11events.c index 816c9e1ce..4f956c18e 100644 --- a/src/video/x11/SDL_x11events.c +++ b/src/video/x11/SDL_x11events.c @@ -407,11 +407,7 @@ printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xco printf("Expose (count = %d)\n", xevent.xexpose.count); #endif if ( SDL_VideoSurface && (xevent.xexpose.count == 0) ) { - if ( SDL_VideoSurface->flags & SDL_OPENGL ) { - SDL_PrivateExpose(); - } else { - X11_RefreshDisplay(this); - } + X11_RefreshDisplay(this); } } break; diff --git a/src/video/x11/SDL_x11image.c b/src/video/x11/SDL_x11image.c index 579dae5d8..149563715 100644 --- a/src/video/x11/SDL_x11image.c +++ b/src/video/x11/SDL_x11image.c @@ -29,6 +29,7 @@ static char rcsid = #include "SDL_error.h" #include "SDL_endian.h" +#include "SDL_events_c.h" #include "SDL_x11image_c.h" #if defined(__USLC__) @@ -427,8 +428,11 @@ void X11_EnableAutoRefresh(_THIS) void X11_RefreshDisplay(_THIS) { - /* Don't refresh a display that doesn't have an image (like GL) */ + /* Don't refresh a display that doesn't have an image (like GL) + Instead, post an expose event so the application can refresh. + */ if ( ! SDL_Ximage || (enable_autorefresh <= 0) ) { + SDL_PrivateExpose(); return; } #ifndef NO_SHARED_MEMORY