diff options
author | al <al@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-05-21 17:31:44 +0000 |
---|---|---|
committer | al <al@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-05-21 17:31:44 +0000 |
commit | 362be18be60318f8ee5ee28a09e5aa04d7419106 (patch) | |
tree | 1a15e0426458abda20485466aebca52adf17b17e /libvo | |
parent | 140b59994a97cd828f22f3f58967cc3a4b1e0707 (diff) | |
download | mpv-362be18be60318f8ee5ee28a09e5aa04d7419106.tar.bz2 mpv-362be18be60318f8ee5ee28a09e5aa04d7419106.tar.xz |
Make -wid behave more consistent.
Original patch by kiriuja |mplayer-patches >ta< en-directo >tod< net|
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15541 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r-- | libvo/vo_x11.c | 5 | ||||
-rw-r--r-- | libvo/vo_xmga.c | 1 | ||||
-rw-r--r-- | libvo/vo_xover.c | 1 | ||||
-rw-r--r-- | libvo/vo_xv.c | 5 | ||||
-rw-r--r-- | libvo/vo_xvidix.c | 1 | ||||
-rw-r--r-- | libvo/vo_xvmc.c | 7 |
6 files changed, 20 insertions, 0 deletions
diff --git a/libvo/vo_x11.c b/libvo/vo_x11.c index 14c04cff49..8262d57558 100644 --- a/libvo/vo_x11.c +++ b/libvo/vo_x11.c @@ -377,6 +377,8 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, vo_window = WinID ? ((Window) WinID) : mRootWin; if (WinID) { + int border; + Window win; XUnmapWindow(mDisplay, vo_window); XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xswa); @@ -389,6 +391,9 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, ButtonReleaseMask | ExposureMask); XMapWindow(mDisplay, vo_window); + XGetGeometry(mDisplay, vo_window, &mRootWin, + &vo_dx, &vo_dy, &vo_dwidth, &vo_dheight, + &border, &depth); } else XSelectInput(mDisplay, vo_window, ExposureMask); } else diff --git a/libvo/vo_xmga.c b/libvo/vo_xmga.c index a5f020667a..d456b53362 100644 --- a/libvo/vo_xmga.c +++ b/libvo/vo_xmga.c @@ -213,6 +213,7 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, ButtonPressMask | ButtonReleaseMask | ExposureMask); + XMapWindow(mDisplay, vo_window); } else XSelectInput(mDisplay, vo_window, ExposureMask); diff --git a/libvo/vo_xover.c b/libvo/vo_xover.c index 22457fc4da..0b4a97524d 100644 --- a/libvo/vo_xover.c +++ b/libvo/vo_xover.c @@ -300,6 +300,7 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, XUnmapWindow(mDisplay, vo_window); XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xswa); vo_x11_selectinput_witherr( mDisplay,vo_window,StructureNotifyMask | KeyPressMask | PropertyChangeMask | PointerMotionMask | ButtonPressMask | ButtonReleaseMask | ExposureMask ); + XMapWindow(mDisplay, vo_window); } else XSelectInput( mDisplay,vo_window,ExposureMask ); } else diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c index 36a9fdac69..e485743dae 100644 --- a/libvo/vo_xv.c +++ b/libvo/vo_xv.c @@ -298,6 +298,11 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, ButtonReleaseMask | ExposureMask); XMapWindow(mDisplay, vo_window); + XGetGeometry(mDisplay, vo_window, &mRoot, + &drwX, &drwY, &vo_dwidth, &vo_dheight, + &drwBorderWidth, &drwDepth); + drwX = drwY = 0; // coordinates need to be local to the window + aspect_save_prescale(vo_dwidth, vo_dheight); } else { drwX = vo_dx; diff --git a/libvo/vo_xvidix.c b/libvo/vo_xvidix.c index 1d5fa7d495..4eadcd4204 100644 --- a/libvo/vo_xvidix.c +++ b/libvo/vo_xvidix.c @@ -347,6 +347,7 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, ButtonPressMask | ButtonReleaseMask | ExposureMask); + XMapWindow(mDisplay, vo_window); } else XSelectInput(mDisplay, vo_window, ExposureMask); } else diff --git a/libvo/vo_xvmc.c b/libvo/vo_xvmc.c index 053714b355..f63e7c28d1 100644 --- a/libvo/vo_xvmc.c +++ b/libvo/vo_xvmc.c @@ -666,10 +666,17 @@ found_subpic: vo_window = WinID ? ((Window)WinID) : mRootWin; if ( WinID ) { + Window mRoot; + uint32_t drwBorderWidth, drwDepth; XUnmapWindow( mDisplay,vo_window ); XChangeWindowAttributes( mDisplay,vo_window,xswamask,&xswa ); vo_x11_selectinput_witherr( mDisplay,vo_window,StructureNotifyMask | KeyPressMask | PropertyChangeMask | PointerMotionMask | ButtonPressMask | ButtonReleaseMask | ExposureMask ); XMapWindow( mDisplay,vo_window ); + XGetGeometry(mDisplay, vo_window, &mRoot, + &drwX, &drwY, &vo_dwidth, &vo_dheight, + &drwBorderWidth, &drwDepth); + drwX = drwY = 0; // coordinates need to be local to the window + aspect_save_prescale(vo_dwidth, vo_dheight); } else { drwX=vo_dx; drwY=vo_dy; } } else if ( vo_window == None ){ |