From 762d6ac6aad55f59959037ffbfbfbaa5ec34439d Mon Sep 17 00:00:00 2001 From: pontscho Date: Sun, 12 May 2002 16:01:08 +0000 Subject: [PATCH] fix Arpi's bugs git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6060 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/vo_x11.c | 7 +++---- libvo/vo_xmga.c | 2 -- libvo/x11_common.c | 5 ++++- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libvo/vo_x11.c b/libvo/vo_x11.c index 1530229dd8..6c874b1af1 100644 --- a/libvo/vo_x11.c +++ b/libvo/vo_x11.c @@ -1,4 +1,3 @@ -#define DISP /* * video_out_x11.c,X11 interface @@ -103,7 +102,7 @@ static void check_events(){ int ret = vo_x11_check_events(mDisplay); /* clear the old window */ - if (ret & VO_EVENT_RESIZE) + if ( (ret & VO_EVENT_RESIZE)||(ret & VO_EVENT_EXPOSE) ) { XSetBackground(mDisplay, vo_gc, 0); XClearWindow(mDisplay, vo_window); @@ -437,7 +436,6 @@ static const vo_info_t* get_info( void ) static void Display_Image( XImage *myximage,uint8_t *ImageData ) { -#ifdef DISP #ifdef HAVE_SHM if ( Shmem_Flag ) { @@ -454,7 +452,6 @@ static void Display_Image( XImage *myximage,uint8_t *ImageData ) ( vo_dwidth - swsContext->dstW ) / 2,( vo_dheight - myximage->height ) / 2, swsContext->dstW,myximage->height); } -#endif } static void draw_osd(void) @@ -469,6 +466,8 @@ static uint32_t draw_slice( uint8_t *src[],int stride[],int w,int h,int x,int y { uint8_t *dst[3]; int dstStride[3]; + + check_events(); if((old_vo_dwidth != vo_dwidth || old_vo_dheight != vo_dheight) /*&& y==0*/ && zoomFlag) { diff --git a/libvo/vo_xmga.c b/libvo/vo_xmga.c index 246a8adccb..90768f0e81 100644 --- a/libvo/vo_xmga.c +++ b/libvo/vo_xmga.c @@ -335,8 +335,6 @@ uninit(void) { if(!inited) return; inited=0; - XSetBackground( mDisplay,vo_gc,0 ); - XClearWindow( mDisplay,vo_window ); mga_uninit(); saver_on(mDisplay); vo_x11_uninit(mDisplay, vo_window); diff --git a/libvo/x11_common.c b/libvo/x11_common.c index 5c43f6a749..6046197479 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -490,7 +490,7 @@ void vo_x11_decoration( Display * vo_Display,Window w,int d ) vo_MotifWmHints.flags=MWM_HINTS_FUNCTIONS | MWM_HINTS_DECORATIONS; if ( d ) { - vo_MotifWmHints.functions=MWM_FUNC_MOVE | MWM_FUNC_CLOSE | MWM_FUNC_MINIMIZE | MWM_FUNC_MAXIMIZE; + vo_MotifWmHints.functions=MWM_FUNC_MOVE | MWM_FUNC_CLOSE | MWM_FUNC_MINIMIZE | MWM_FUNC_MAXIMIZE | MWM_FUNC_RESIZE; d=MWM_DECOR_ALL; } #if 0 @@ -529,6 +529,9 @@ int vo_x11_uninit(Display *display, Window window) if ( !use_gui ) #endif { + XSetBackground( mDisplay,vo_gc,0 ); + XClearWindow( mDisplay,vo_window ); + /* and -wid is set */ if (WinID < 0) {