Index: libvo/vo_x11.c =================================================================== RCS file: /cvsroot/mplayer/main/libvo/vo_x11.c,v retrieving revision 1.140 diff -u -r1.140 vo_x11.c --- libvo/vo_x11.c 20 Aug 2004 09:41:13 -0000 1.140 +++ libvo/vo_x11.c 16 Sep 2004 17:14:06 -0000 @@ -261,6 +261,7 @@ // int screen; int fullscreen = 0; int vm = 0; + int border; // int interval, prefer_blank, allow_exp, nothing; unsigned int fg, bg; @@ -389,6 +390,8 @@ 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 Index: libvo/vo_xmga.c =================================================================== RCS file: /cvsroot/mplayer/main/libvo/vo_xmga.c,v retrieving revision 1.89 diff -u -r1.89 vo_xmga.c --- libvo/vo_xmga.c 20 Aug 2004 09:41:13 -0000 1.89 +++ libvo/vo_xmga.c 16 Sep 2004 17:14:06 -0000 @@ -121,6 +121,7 @@ XVisualInfo vinfo; unsigned long xswamask; int r, g, b; + int border; if (mga_init(width, height, format)) return -1; // ioctl errors? @@ -213,6 +214,9 @@ ButtonPressMask | ButtonReleaseMask | ExposureMask); + XMapWindow(mDisplay, vo_window); + XGetGeometry(mDisplay, vo_window, &mRootWin, &vo_dx, &vo_dy, &vo_dwidth, + &vo_dheight, &border, &mDepth); } else XSelectInput(mDisplay, vo_window, ExposureMask); Index: libvo/vo_xover.c =================================================================== RCS file: /cvsroot/mplayer/main/libvo/vo_xover.c,v retrieving revision 1.9 diff -u -r1.9 vo_xover.c --- libvo/vo_xover.c 20 Aug 2004 09:41:13 -0000 1.9 +++ libvo/vo_xover.c 16 Sep 2004 17:14:06 -0000 @@ -300,6 +300,7 @@ 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 Index: libvo/vo_xv.c =================================================================== RCS file: /cvsroot/mplayer/main/libvo/vo_xv.c,v retrieving revision 1.155 diff -u -r1.155 vo_xv.c --- libvo/vo_xv.c 3 Sep 2004 20:22:22 -0000 1.155 +++ libvo/vo_xv.c 16 Sep 2004 17:14:06 -0000 @@ -290,6 +290,9 @@ ButtonReleaseMask | ExposureMask); XMapWindow(mDisplay, vo_window); + XGetGeometry(mDisplay, vo_window, &mRoot, &drwX, &drwY, &vo_dwidth, + &vo_dheight, &drwBorderWidth, &drwDepth); + aspect_save_prescale(vo_dwidth, vo_dheight); } else { drwX = vo_dx; Index: libvo/vo_xvidix.c =================================================================== RCS file: /cvsroot/mplayer/main/libvo/vo_xvidix.c,v retrieving revision 1.69 diff -u -r1.69 vo_xvidix.c --- libvo/vo_xvidix.c 20 Aug 2004 09:41:13 -0000 1.69 +++ libvo/vo_xvidix.c 16 Sep 2004 17:14:07 -0000 @@ -347,6 +347,7 @@ ButtonPressMask | ButtonReleaseMask | ExposureMask); + XMapWindow(mDisplay, vo_window); } else XSelectInput(mDisplay, vo_window, ExposureMask); } else Index: libvo/vo_xvmc.c =================================================================== RCS file: /cvsroot/mplayer/main/libvo/vo_xvmc.c,v retrieving revision 1.12 diff -u -r1.12 vo_xvmc.c --- libvo/vo_xvmc.c 23 Aug 2004 09:52:25 -0000 1.12 +++ libvo/vo_xvmc.c 16 Sep 2004 17:14:07 -0000 @@ -482,6 +482,8 @@ uint32_t flags, char *title, uint32_t format){ int i,mode_id,rez; int numblocks,blocks_per_macroblock;//bpmb we have 6,8,12 +Window mRoot; +uint32_t drwBorderWidth,drwDepth; //from vo_xv char *hello = (title == NULL) ? "XvMC render" : title; @@ -729,6 +731,9 @@ 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); + aspect_save_prescale(vo_dwidth, vo_dheight); } else { drwX=vo_dx; drwY=vo_dy; } } else if ( vo_window == None ){