summaryrefslogtreecommitdiffstats
path: root/libvo/x11_common.c
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2009-09-04 19:49:35 +0300
committerUoti Urpala <uau@glyph.nonexistent.invalid>2009-09-04 19:49:35 +0300
commit0e1b7765be878491565cf5e471f22b15e106164c (patch)
tree422e500c289335182a2a64934dcabf10b95e32dc /libvo/x11_common.c
parenta9618c1c6fe9424dfaeb1677348e0382d7252554 (diff)
parentdcfd043ea8d0c46929aad78596314d837c290d39 (diff)
downloadmpv-0e1b7765be878491565cf5e471f22b15e106164c.tar.bz2
mpv-0e1b7765be878491565cf5e471f22b15e106164c.tar.xz
Merge svn changes up to r29644
Diffstat (limited to 'libvo/x11_common.c')
-rw-r--r--libvo/x11_common.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/libvo/x11_common.c b/libvo/x11_common.c
index 8911a242b3..a9de90d350 100644
--- a/libvo/x11_common.c
+++ b/libvo/x11_common.c
@@ -1032,14 +1032,14 @@ void vo_x11_create_vo_window(struct vo *vo, XVisualInfo *vis, int x, int y,
Display *mDisplay = vo->x11->display;
XGCValues xgcv;
if (WinID >= 0) {
+ vo_fs = flags & VOFLAG_FULLSCREEN;
x11->window = WinID ? (Window)WinID : x11->rootwin;
if (col_map != CopyFromParent) {
unsigned long xswamask = CWColormap;
XSetWindowAttributes xswa;
xswa.colormap = col_map;
- XUnmapWindow(mDisplay, x11->window);
XChangeWindowAttributes(mDisplay, x11->window, xswamask, &xswa);
- XMapWindow(mDisplay, x11->window);
+ XInstallColormap(mDisplay, col_map);
}
if (WinID) vo_x11_update_geometry(vo);
vo_x11_selectinput_witherr(mDisplay, x11->window,
@@ -1302,7 +1302,11 @@ void vo_x11_fullscreen(struct vo *vo)
struct vo_x11_state *x11 = vo->x11;
int x, y, w, h;
- if (WinID >= 0 || x11->fs_flip)
+ if (WinID >= 0) {
+ vo_fs = !vo_fs;
+ return;
+ }
+ if (x11->fs_flip)
return;
if (vo_fs)