summaryrefslogtreecommitdiffstats
path: root/libvo/vo_x11.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvo/vo_x11.c')
-rw-r--r--libvo/vo_x11.c5
1 files changed, 4 insertions, 1 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 )