diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-05-05 15:33:50 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-05-05 15:33:50 +0000 |
commit | 4b4a3421eaac8bd99a0137402aa70c7834979445 (patch) | |
tree | 2a5b409d8b056dbf2ec8dc6cdd6803278c6e9098 /libvo | |
parent | 7a4298edc05dcc54ef9c49e074cfd6ca84172bec (diff) |
- the "black bars" in xv bug fixed (drwX=drwY=0)
- -fsmode is working again
- BaseSize flag for upscale-only Xv drivers (disabled now)
patch by Tom Lees <tal26@cam.ac.uk>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5982 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r-- | libvo/vo_xv.c | 5 | ||||
-rw-r--r-- | libvo/x11_common.c | 7 |
2 files changed, 6 insertions, 6 deletions
diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c index 4f920627f4..8dc55f461d 100644 --- a/libvo/vo_xv.c +++ b/libvo/vo_xv.c @@ -402,7 +402,8 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32 } // dwidth=d_width; dheight=d_height; //XXX: what are the copy vars used for? vo_dwidth=d_width; vo_dheight=d_height; - hint.flags = PPosition | PSize; + hint.flags = PPosition | PSize /* | PBaseSize */; + hint.base_width = hint.width; hint.base_height = hint.height; XGetWindowAttributes(mDisplay, DefaultRootWindow(mDisplay), &attribs); depth=attribs.depth; if (depth != 15 && depth != 16 && depth != 24 && depth != 32) depth = 24; @@ -433,6 +434,7 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32 )) ); XSetStandardProperties(mDisplay, vo_window, hello, hello, None, NULL, 0, &hint); + XSetWMNormalHints( mDisplay,vo_window,&hint ); if ( vo_fs ) vo_x11_decoration( mDisplay,vo_window,0 ); XMapWindow(mDisplay, vo_window); #ifdef HAVE_XINERAMA @@ -553,6 +555,7 @@ static void check_events(void) if(e&VO_EVENT_RESIZE) { 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 ); aspect(&dwidth,&dheight,A_NOZOOM); diff --git a/libvo/x11_common.c b/libvo/x11_common.c index e89aa75077..99dec63979 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -390,10 +390,9 @@ void vo_x11_decoration( Display * vo_Display,Window w,int d ) if ( !WinID ) return; -#if 0 if(vo_fsmode&1){ XSetWindowAttributes attr; - attr.override_redirect = True; + attr.override_redirect = (!d) ? True : False; XChangeWindowAttributes(vo_Display, w, CWOverrideRedirect, &attr); // XMapWindow(vo_Display, w); } @@ -401,7 +400,6 @@ void vo_x11_decoration( Display * vo_Display,Window w,int d ) if(vo_fsmode&8){ XSetTransientForHint (vo_Display, w, RootWindow(vo_Display,mScreen)); } -#endif vo_MotifHints=XInternAtom( vo_Display,"_MOTIF_WM_HINTS",0 ); if ( vo_MotifHints != None ) @@ -588,16 +586,15 @@ void vo_x11_fullscreen( void ) vo_fs=VO_TRUE; vo_old_x=vo_dx; vo_old_y=vo_dy; vo_old_width=vo_dwidth; vo_old_height=vo_dheight; vo_dx=0; vo_dy=0; vo_dwidth=vo_screenwidth; vo_dheight=vo_screenheight; - vo_x11_decoration( mDisplay,vo_window,0 ); } else { vo_fs=VO_FALSE; vo_dx=vo_old_x; vo_dy=vo_old_y; vo_dwidth=vo_old_width; vo_dheight=vo_old_height; - vo_x11_decoration( mDisplay,vo_window,1 ); } vo_x11_sizehint( vo_dx,vo_dy,vo_dwidth,vo_dheight,0 ); XMoveResizeWindow( mDisplay,vo_window,vo_dx,vo_dy,vo_dwidth,vo_dheight ); + vo_x11_decoration( mDisplay,vo_window,(vo_fs) ? 0 : 1 ); XMapRaised( mDisplay,vo_window ); XRaiseWindow( mDisplay,vo_window ); |