[MPlayer-dev-eng] [PATCH] Fix for vo_gl2 fullscreen mode

Attila Kinali attila at kinali.ch
Thu Feb 26 09:58:16 CET 2004


On Wed, 25 Feb 2004 22:46:16 +0100
Reimar Döffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de> wrote:

> Hi,
> already found the first bugs... Please have a look at this patch instead.
> And please keep in mind that I don't really know what I'm doing - I 
> mostly do some tests and up to now this version gave the best results.

Just let me know when you think it can be applied to cvs.


> I'd especially like to know if there is any special reason for this line:
>   XSelectInput(mDisplay, vo_window, NoEventMask);

IMHO it looks fishy. Dunno why anyone want to disable all event.s


> 
> [gl2_fs_fix2.diff  text/plain (2115 bytes)]
> Index: vo_gl2.c
> ===================================================================
> RCS file: /cvsroot/mplayer/main/libvo/vo_gl2.c,v
> retrieving revision 1.40
> diff -u -r1.40 vo_gl2.c
> --- vo_gl2.c	22 Feb 2004 15:30:01 -0000	1.40
> +++ vo_gl2.c	25 Feb 2004 21:44:36 -0000
> @@ -677,23 +677,14 @@
>  	XVisualInfo *vinfo, vinfo_buf;
>  	XEvent xev;
>  
> -        if( flags&0x01 )
> -        {
> -	        vo_fs = VO_TRUE;
> -                aspect(&d_width,&d_height,A_ZOOM);
> -		hint.x = 0;
> -		hint.y = 0;
> -		hint.width = vo_screenwidth;
> -		hint.height = vo_screenheight;
> -		hint.flags = PPosition | PSize;
> -        } else {
>  		vo_fs = VO_FALSE;
> +		vo_dwidth = d_width;
> +		vo_dheight = d_height;
>  		hint.x = 0;
>  		hint.y = 0;
>  		hint.width = d_width;
>  		hint.height = d_height;
>  		hint.flags = PPosition | PSize;
> -        }
>  
>  	/* Make the window */
>  
> @@ -711,7 +702,6 @@
>     {
>      vo_window = vo_x11_create_smooth_window(mDisplay, RootWindow(mDisplay,mScreen), 
>  		                            vinfo->visual, hint.x, hint.y, hint.width, hint.height, vinfo->depth, vo_x11_create_colormap(vinfo));
> -  if ( flags&0x01 ) vo_x11_decoration( mDisplay,vo_window,0 );
>  
>  	XSelectInput(mDisplay, vo_window, StructureNotifyMask);
>  
> @@ -733,15 +723,15 @@
>  		XNextEvent(mDisplay, &xev);
>  	}
>  	while (xev.type != MapNotify || xev.xmap.event != vo_window);
> -
> -	XSelectInput(mDisplay, vo_window, NoEventMask);
> -

Dunno...Looks wrong to me


>     }
>     else {
>     	vo_x11_sizehint( hint.x, hint.y, hint.width, hint.height,0 );
> -   	if ( !(flags&1) ) XMoveResizeWindow( mDisplay,vo_window,hint.x,hint.y,hint.width,hint.height );
> +   	XMoveResizeWindow( mDisplay,vo_window,hint.x,hint.y,hint.width,hint.height );


Why do you removed the "if" here ?


>     }
>  
> +  if (flags & VOFLAG_FULLSCREEN)
> +   vo_x11_fullscreen();
> +
>    vo_x11_classhint( mDisplay,vo_window,"gl2" );
>    vo_hidecursor(mDisplay,vo_window);
>    
> @@ -837,8 +827,6 @@
>  
>  	image_height = height;
>  	image_width = width;
> -    vo_dwidth = d_width;
> -    vo_dheight = d_height;
>  	image_format = format;
>  
>  	int_pause = 0;

Otherwise it looks ok.


			Attila Kinali


-- 
egp ist vergleichbar mit einem ikea bausatz fuer flugzeugtraeger
			-- reeler in +kaosu




More information about the MPlayer-dev-eng mailing list