From dbb902acc693040f68131fa1d4cb4da31020c860 Mon Sep 17 00:00:00 2001 From: arpi Date: Sat, 28 Sep 2002 20:09:14 +0000 Subject: [PATCH] -nograbpointer, based on old patch by Christian Ohm git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7540 b3059339-0415-0410-9bf9-f77b7e298cf2 --- Gui/mplayer/gtk/fs.c | 2 +- cfg-mplayer.h | 3 +++ libvo/video_out.c | 1 + libvo/video_out.h | 1 + libvo/vo_dga.c | 2 ++ libvo/vo_x11.c | 1 + libvo/vo_xv.c | 1 + 7 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Gui/mplayer/gtk/fs.c b/Gui/mplayer/gtk/fs.c index d0e55a2eaa..c5fb4483a9 100644 --- a/Gui/mplayer/gtk/fs.c +++ b/Gui/mplayer/gtk/fs.c @@ -33,7 +33,7 @@ gchar * fsSelectedFile = NULL; gchar * fsSelectedDirectory = NULL; unsigned char * fsThatDir = "."; -gchar fsFilter[64] = "*"; +gchar fsFilter[256] = "*"; int fsPressed = 0; int fsType = 0; diff --git a/cfg-mplayer.h b/cfg-mplayer.h index 7141d4d1ba..1224c7b15e 100644 --- a/cfg-mplayer.h +++ b/cfg-mplayer.h @@ -253,6 +253,9 @@ static config_t mplayer_opts[]={ {"novsync", &vo_vsync, CONF_TYPE_FLAG, 0, 1, 0, NULL}, {"panscan", &vo_panscan, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 1.0, NULL}, + {"grabpointer", &vo_grabpointer, CONF_TYPE_FLAG, 0, 0, 1, NULL}, + {"nograbpointer", &vo_grabpointer, CONF_TYPE_FLAG, 0, 1, 0, NULL}, + #ifdef HAVE_X11 // x11,xv,xmga,xvidix {"wid", &WinID, CONF_TYPE_INT, 0, 0, 0, NULL}, diff --git a/libvo/video_out.c b/libvo/video_out.c index 10e584f4e0..5aec99bb0d 100644 --- a/libvo/video_out.c +++ b/libvo/video_out.c @@ -30,6 +30,7 @@ int vo_dwidth=0; int vo_dheight=0; int vo_dbpp=0; +int vo_grabpointer = 1; int vo_doublebuffering = 0; int vo_vsync = 0; int vo_fs = 0; diff --git a/libvo/video_out.h b/libvo/video_out.h index 29dc2fd496..04e0c219ea 100644 --- a/libvo/video_out.h +++ b/libvo/video_out.h @@ -170,6 +170,7 @@ extern int vo_dwidth; extern int vo_dheight; extern int vo_dbpp; +extern int vo_grabpointer; extern int vo_doublebuffering; extern int vo_directrendering; extern int vo_vsync; diff --git a/libvo/vo_dga.c b/libvo/vo_dga.c index 57da50b8a7..46d0f3bb00 100644 --- a/libvo/vo_dga.c +++ b/libvo/vo_dga.c @@ -579,6 +579,7 @@ uninit(void) if(vo_dga_is_running){ vo_dga_is_running = 0; mp_msg(MSGT_VO, MSGL_V, "vo_dga: in uninit\n"); + if(vo_grabpointer) XUngrabPointer (vo_dga_dpy, CurrentTime); XUngrabKeyboard (vo_dga_dpy, CurrentTime); #ifdef HAVE_DGA2 @@ -1037,6 +1038,7 @@ static uint32_t config( uint32_t width, uint32_t height, XGrabKeyboard (vo_dga_dpy, DefaultRootWindow(vo_dga_dpy), True, GrabModeAsync,GrabModeAsync, CurrentTime); + if(vo_grabpointer) XGrabPointer (vo_dga_dpy, DefaultRootWindow(vo_dga_dpy), True, ButtonPressMask,GrabModeAsync, GrabModeAsync, None, None, CurrentTime); diff --git a/libvo/vo_x11.c b/libvo/vo_x11.c index 92f92c9abc..df1a47b46c 100644 --- a/libvo/vo_x11.c +++ b/libvo/vo_x11.c @@ -372,6 +372,7 @@ static uint32_t config( uint32_t width,uint32_t height,uint32_t d_width,uint32_t if ( vm ) { /* Grab the mouse pointer in our window */ + if(vo_grabpointer) XGrabPointer(mDisplay, vo_window, True, 0, GrabModeAsync, GrabModeAsync, vo_window, None, CurrentTime); diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c index 09b3d7ea09..1cd8d51011 100644 --- a/libvo/vo_xv.c +++ b/libvo/vo_xv.c @@ -404,6 +404,7 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32 if ( vm ) { /* Grab the mouse pointer in our window */ + if(vo_grabpointer) XGrabPointer(mDisplay, vo_window, True, 0, GrabModeAsync, GrabModeAsync, vo_window, None, CurrentTime);