From f34454b6b5acba9c21dcc98d9b7d877731aa98cf Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 4 Feb 2010 22:08:23 +0000 Subject: Create the OpenGL probe window as a hidden Window on X11. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30507 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/x11_common.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libvo/x11_common.c') diff --git a/libvo/x11_common.c b/libvo/x11_common.c index 871ab62940..bb46588ea4 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -104,6 +104,7 @@ int mLocalDisplay; int vo_mouse_autohide = 0; int vo_wm_type = 0; int vo_fs_type = 0; // needs to be accessible for GUI X11 code +static int window_state; static int vo_fs_flip = 0; char **vo_fstype_list; @@ -1102,13 +1103,18 @@ void vo_x11_create_vo_window(XVisualInfo *vis, int x, int y, goto final; } if (vo_window == None) { - XSizeHints hint; - XEvent xev; vo_fs = 0; vo_dwidth = width; vo_dheight = height; vo_window = vo_x11_create_smooth_window(mDisplay, mRootWin, vis->visual, x, y, width, height, vis->depth, col_map); + window_state = VOFLAG_HIDDEN; + } + if (flags & VOFLAG_HIDDEN) + goto final; + if (window_state & VOFLAG_HIDDEN) { + XSizeHints hint; + XEvent xev; vo_x11_classhint(mDisplay, vo_window, classname); XStoreName(mDisplay, vo_window, title); vo_hidecursor(mDisplay, vo_window); -- cgit v1.2.3 From c5b0ff1cfacfa502eb0647f329756ddf7c79fcb6 Mon Sep 17 00:00:00 2001 From: reimar Date: Fri, 5 Feb 2010 16:42:13 +0000 Subject: Fix hang with -fixed-vo due to VOFLAG_HIDDEN never being removed from window_state. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30514 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/x11_common.c | 1 + 1 file changed, 1 insertion(+) (limited to 'libvo/x11_common.c') diff --git a/libvo/x11_common.c b/libvo/x11_common.c index bb46588ea4..bb334f13f5 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -1115,6 +1115,7 @@ void vo_x11_create_vo_window(XVisualInfo *vis, int x, int y, if (window_state & VOFLAG_HIDDEN) { XSizeHints hint; XEvent xev; + window_state &= ~VOFLAG_HIDDEN; vo_x11_classhint(mDisplay, vo_window, classname); XStoreName(mDisplay, vo_window, title); vo_hidecursor(mDisplay, vo_window); -- cgit v1.2.3