diff -urN --exclude-from dontdiff vanilla/main/libvo/vo_xv.c main/libvo/vo_xv.c --- vanilla/main/libvo/vo_xv.c Sat Aug 10 11:30:01 2002 +++ main/libvo/vo_xv.c Tue Aug 20 17:57:17 2002 @@ -530,6 +530,12 @@ int e=vo_x11_check_events(mDisplay); if(e&VO_EVENT_RESIZE) { + if (vo_fs) { + e |= VO_EVENT_EXPOSE; + XClearWindow(mDisplay, vo_window); + XFlush(mDisplay); + } + XGetGeometry( mDisplay,vo_window,&mRoot,&drwX,&drwY,&vo_dwidth,&vo_dheight,&drwBorderWidth,&drwDepth ); drwX = drwY = 0; mp_msg(MSGT_VO,MSGL_V, "[xv] dx: %d dy: %d dw: %d dh: %d\n",drwX,drwY,vo_dwidth,vo_dheight ); diff -urN --exclude-from dontdiff vanilla/main/libvo/x11_common.c main/libvo/x11_common.c --- vanilla/main/libvo/x11_common.c Sat Aug 10 11:30:05 2002 +++ main/libvo/x11_common.c Tue Aug 20 19:00:47 2002 @@ -588,6 +588,8 @@ ret|=VO_EVENT_EXPOSE; break; case ConfigureNotify: + if (!vo_fs && (Event.xconfigure.width == vo_screenwidth || Event.xconfigure.height == vo_screenheight)) break; + if (vo_fs && Event.xconfigure.width != vo_screenwidth && Event.xconfigure.height != vo_screenheight) break; vo_dwidth=Event.xconfigure.width; vo_dheight=Event.xconfigure.height; #if 0 @@ -755,6 +757,9 @@ int x=0,y=0,w=vo_screenwidth,h=vo_screenheight; if ( WinID >= 0 ) return; + + if ( !vo_fs && (vo_dwidth == vo_screenwidth || vo_dheight == vo_screenheight)) return; + if ( vo_fs && vo_dwidth != vo_screenwidth && vo_dheight != vo_screenheight) return; if ( vo_fs ) { vo_fs=VO_FALSE; x=vo_old_x; y=vo_old_y; w=vo_old_width; h=vo_old_height; }