When sdl_resize resizes the SDL window, some window manager send back
a ConfigureNotify event, which triggers a SDL_VIDEORESIZE event. That
event, however, is seen only much later, on the next VGA refresh
round. If the guest quickly switches to another resolution in between,
the SDL_VIDEORESIZE event makes us erroneously rescale that new
resolution into the old one.
This patch makes us pump that window manager event, so that no
SDL_VIDEORESIZE event is generated.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
again:
screen = SDL_SetVideoMode(w, h, 0, flags);
+ /* Process any WM-generated resize event */
+ SDL_PumpEvents();
+
if (!screen) {
fprintf(stderr, "Could not open SDL display: %s\n", SDL_GetError());
if (opengl_enabled) {