Switch to Fullscreen fails unless done after MapWindow.

This commit is contained in:
Greg Kennedy 2015-12-29 16:17:24 -06:00
parent a371d3b389
commit 65a3701be3
1 changed files with 15 additions and 6 deletions

View File

@ -842,12 +842,6 @@ void S9xInitDisplay (int argc, char **argv)
WidthOfScreen(GUI.screen), HeightOfScreen(GUI.screen), 0,
GUI.depth, InputOutput, GUI.visual, CWBackPixel | CWColormap, &attrib);
/* Try to tell the Window Manager not to decorate this window. */
Atom wm_state = XInternAtom (GUI.display, "_NET_WM_STATE", true );
Atom wm_fullscreen = XInternAtom (GUI.display, "_NET_WM_STATE_FULLSCREEN", true );
XChangeProperty(GUI.display, GUI.window, wm_state, XA_ATOM, 32, PropModeReplace, (unsigned char *)&wm_fullscreen, 1);
#ifdef USE_XVIDEO
if (GUI.use_xvideo)
{
@ -938,6 +932,21 @@ void S9xInitDisplay (int argc, char **argv)
XMapRaised(GUI.display, GUI.window);
XClearWindow(GUI.display, GUI.window);
// Wait for map
XEvent event;
do {
XNextEvent(GUI.display, &event);
} while (event.type != MapNotify || event.xmap.event != GUI.window);
if (GUI.fullscreen)
{
/* Try to tell the Window Manager not to decorate this window. */
Atom wm_state = XInternAtom (GUI.display, "_NET_WM_STATE", true );
Atom wm_fullscreen = XInternAtom (GUI.display, "_NET_WM_STATE_FULLSCREEN", true );
XChangeProperty(GUI.display, GUI.window, wm_state, XA_ATOM, 32, PropModeReplace, (unsigned char *)&wm_fullscreen, 1);
}
#ifdef USE_XVIDEO
if (GUI.use_xvideo)
{