summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-24 23:10:41 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-24 23:10:41 +0000
commite08139aebae1060e35783748967a72dd01b27850 (patch)
treeec6f30850b0fdf6b0079f47fc08991ea4eb4ddec /libvo
parentcac0e913c9e0f31fdce54ec78686e44f4cec0719 (diff)
downloadmpv-e08139aebae1060e35783748967a72dd01b27850.tar.bz2
mpv-e08139aebae1060e35783748967a72dd01b27850.tar.xz
-rootwin fixed, keys work, mouse doesn't
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5823 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/vo_x11.c5
-rw-r--r--libvo/vo_xv.c5
2 files changed, 7 insertions, 3 deletions
diff --git a/libvo/vo_x11.c b/libvo/vo_x11.c
index 32ef9609ce..aae5163b9d 100644
--- a/libvo/vo_x11.c
+++ b/libvo/vo_x11.c
@@ -353,6 +353,7 @@ static uint32_t config( uint32_t width,uint32_t height,uint32_t d_width,uint32_t
#ifdef HAVE_XINERAMA
vo_x11_xinerama_move(mDisplay,vo_window);
#endif
+ if(WinID!=0)
do { XNextEvent( mDisplay,&xev ); } while ( xev.type != MapNotify || xev.xmap.event != vo_window );
XSelectInput( mDisplay,vo_window,NoEventMask );
@@ -360,7 +361,9 @@ static uint32_t config( uint32_t width,uint32_t height,uint32_t d_width,uint32_t
XSync( mDisplay,False );
vo_gc=XCreateGC( mDisplay,vo_window,0L,&xgcv );
- XSelectInput( mDisplay,vo_window,StructureNotifyMask | KeyPressMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask);
+ // we cannot grab mouse events on root window :(
+ XSelectInput( mDisplay,vo_window,StructureNotifyMask | KeyPressMask |
+ ((WinID==0)?0:(ButtonPressMask | ButtonReleaseMask | PointerMotionMask)) );
#ifdef HAVE_XF86VM
if ( vm )
diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c
index 8ef925d5a7..6b93bcd2c1 100644
--- a/libvo/vo_xv.c
+++ b/libvo/vo_xv.c
@@ -417,11 +417,12 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
vo_x11_classhint( mDisplay,vo_window,"xv" );
vo_hidecursor(mDisplay,vo_window);
- if(WinID!=0)
- XSelectInput(mDisplay, vo_window, StructureNotifyMask | KeyPressMask | PointerMotionMask
+ XSelectInput(mDisplay, vo_window, StructureNotifyMask | KeyPressMask |
+ ((WinID==0) ? 0 : (PointerMotionMask
#ifdef HAVE_NEW_INPUT
| ButtonPressMask | ButtonReleaseMask
#endif
+ ))
);
XSetStandardProperties(mDisplay, vo_window, hello, hello, None, NULL, 0, &hint);
if ( vo_fs ) vo_x11_decoration( mDisplay,vo_window,0 );