diff -r d77ffd8a6f36 src/video/SDL_video.c --- a/src/video/SDL_video.c Tue Apr 08 16:06:31 2014 -0500 +++ b/src/video/SDL_video.c Tue Apr 15 11:47:23 2014 -0500 @@ -1397,6 +1397,8 @@ } return -1; } + } else if (flags & SDL_WINDOW_FOREIGN) { + window->flags |= SDL_WINDOW_FOREIGN; } if (title) { diff -r d77ffd8a6f36 src/video/x11/SDL_x11window.c --- a/src/video/x11/SDL_x11window.c Tue Apr 08 16:06:31 2014 -0500 +++ b/src/video/x11/SDL_x11window.c Tue Apr 15 11:47:23 2014 -0500 @@ -936,6 +936,7 @@ SDL_DisplayData *displaydata = (SDL_DisplayData *) SDL_GetDisplayForWindow(window)->driverdata; Display *display = data->videodata->display; XEvent event; + if (window->flags & SDL_WINDOW_FOREIGN) return; if (X11_IsWindowMapped(_this, window)) { X11_XWithdrawWindow(display, data->xwindow, displaydata->screen);