diff options
Diffstat (limited to 'libvo')
-rw-r--r-- | libvo/vo_gl.c | 3 | ||||
-rw-r--r-- | libvo/x11_common.c | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/libvo/vo_gl.c b/libvo/vo_gl.c index 4cc3ebc5cf..4a5f70c3b9 100644 --- a/libvo/vo_gl.c +++ b/libvo/vo_gl.c @@ -1149,6 +1149,9 @@ static int control(uint32_t request, void *data, ...) if (scaled_osd) {r->w = image_width; r->h = image_height;} else if (vo_fs) { r->w = vo_screenwidth; r->h = vo_screenheight; + if (WinID >= 0) { + r->w = vo_dwidth; r->h = vo_dheight; + } r->ml = r->mr = ass_border_x; r->mt = r->mb = ass_border_y; } else { diff --git a/libvo/x11_common.c b/libvo/x11_common.c index 2e748a6767..7492fc9fdd 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -1086,6 +1086,7 @@ void vo_x11_create_vo_window(XVisualInfo *vis, int x, int y, { XGCValues xgcv; if (WinID >= 0) { + vo_fs = flags & VOFLAG_FULLSCREEN; vo_window = WinID ? (Window)WinID : mRootWin; if (col_map != CopyFromParent) { unsigned long xswamask = CWColormap; @@ -1343,7 +1344,11 @@ void vo_x11_fullscreen(void) { int x, y, w, h; - if (WinID >= 0 || vo_fs_flip) + if (WinID >= 0) { + vo_fs = !vo_fs; + return; + } + if (vo_fs_flip) return; if (vo_fs) |