Skip to content

Commit

Permalink
unix: fix fullscreen property change timing
Browse files Browse the repository at this point in the history
Previously, the Unix version of Snes9x was unable to create a fullscreen window.  (It would create a regular window the size of the screen.)
  • Loading branch information
NoSuck committed Nov 12, 2017
1 parent c39cbac commit 1b008be
Showing 1 changed file with 6 additions and 9 deletions.
15 changes: 6 additions & 9 deletions unix/x11.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -862,6 +862,12 @@ 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)
{
Expand Down Expand Up @@ -964,15 +970,6 @@ void S9xInitDisplay (int argc, char **argv)
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)
{
Expand Down

0 comments on commit 1b008be

Please sign in to comment.