diff --git a/src/video/x11/SDL_x11window.c b/src/video/x11/SDL_x11window.c index d3ffb786b..eca7bdf1c 100644 --- a/src/video/x11/SDL_x11window.c +++ b/src/video/x11/SDL_x11window.c @@ -824,7 +824,7 @@ X11_SetWindowPosition(_THIS, SDL_Window * window) /* Wait a brief time to see if the window manager decided to let this move happen. If the window changes at all, even to an unexpected value, we break out. */ timeout = SDL_GetTicks() + 100; - do { + while (SDL_TRUE) { int x, y; X11_XSync(display, False); X11_XGetWindowAttributes(display, data->xwindow, &attrs); @@ -839,8 +839,12 @@ X11_SetWindowPosition(_THIS, SDL_Window * window) break; /* we're at the place we wanted to be anyhow, drop out. */ } + if (SDL_TICKS_PASSED(SDL_GetTicks(), timeout)) { + break; + } + SDL_Delay(10); - } while (!SDL_TICKS_PASSED(SDL_GetTicks(), timeout)); + } } void