[MPlayer-dev-eng] Re: [MPlayer-users] [PATCH] Problems with full screen in latest CVS

Svante Signell svante.signell at telia.com
Thu Nov 14 23:35:24 CET 2002


I've found the reason to the full screen problem in gnome: It's in
libvo/x11_common.c.  Please revert the patch from 1.112 back to
1.111. This patch is not functional. The code for NetWM works OK with
gnome. The gnome specific code, on the other hand, does not. (Note
that the gnome specific code in Gui/wm/ws.c is also commented out) At
the end of this mail follows a patch back to version 1.111, but it
seems the gnome specific code can be completely removed.

BTW: What is _NET_SUPPORTED, _NET_WM_STATE, _WIN_SUPPORTING_WM_CHECK
etc and where is it defined?

Svante Signell writes:
 > [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
 > 
 > gnome-session-2.0.8-8, sawfish-1.2-2 (debian unstable), radeon driver
 > from gatos. Dell Inspiron 4100, w. radeon mobility M6
 > 
 > vo xv, x11, gl2, sdl. gl2 -fs is OK (fs<->windowed mode switching does
 > not seem to be supported), sdl -fs gives full screen, but switching from
 > windowed mode to fullscreen gives an y-axis compressed full screen
 > (lower 2/3 is black)
 > 
 > btw: The vidix driver still gives a pink screen for this driver. It
 > has bees doing so for a long time now, since around the start of the
 > 0.9pre series (this has been reported bfore).
 > 
 > gabor writes:
 >  > [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
 >  > On Tue, 2002-11-12 at 20:41, Svante Signell wrote:
 >  > > [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
 >  > > Does anybody have problems with fullscreen mode for latest CVS,
 >  > > checked out one hour ago? When switching to full screen the display
 >  > > changes but the window remains in the original size. Dragging the
 >  > > corners out to cover the whole screen gives the expected full screen
 >  > > mode.
 >  > 
 >  > what window manager and which vo mode?
 >  > 
 >  > bye,
 >  > gabor
 >  > > 
 >  > > _______________________________________________
 >  > > RTFM!!!  http://www.MPlayerHQ.hu/DOCS
 >  > > Search:  http://www.MPlayerHQ.hu/cgi-bin/htsearch
 >  > > http://mplayerhq.hu/mailman/listinfo/mplayer-users
 >  > -- 
 >  > gpg key at www.keyserver.net
 >  > 
 >  > _______________________________________________
 >  > RTFM!!!  http://www.MPlayerHQ.hu/DOCS
 >  > Search:  http://www.MPlayerHQ.hu/cgi-bin/htsearch
 >  > http://mplayerhq.hu/mailman/listinfo/mplayer-users
 > 
 > _______________________________________________
 > RTFM!!!  http://www.MPlayerHQ.hu/DOCS
 > Search:  http://www.MPlayerHQ.hu/cgi-bin/htsearch
 > http://mplayerhq.hu/mailman/listinfo/mplayer-users
Index: libvo/x11_common.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/x11_common.c,v
retrieving revision 1.112
retrieving revision 1.111
diff -u -r1.112 -r1.111
--- libvo/x11_common.c  11 Nov 2002 14:26:07 -0000      1.112
+++ libvo/x11_common.c  6 Nov 2002 23:54:28 -0000       1.111
@@ -629,7 +629,7 @@
 
 #define WIN_LAYER_ONBOTTOM               2
 #define WIN_LAYER_NORMAL                 4
-#define WIN_LAYER_ONTOP                  10
+#define WIN_LAYER_ONTOP                  6
 
 void vo_x11_setlayer( int layer )
 {
@@ -655,30 +655,6 @@
    return;
   }
 
- type=XInternAtom( mDisplay,"_WIN_SUPPORTING_WM_CHECK",False );
- if ( Success == XGetWindowProperty( mDisplay,mRootWin,type,0,16384,False,AnyPropertyType,&type,&format,&nitems,&bytesafter,(unsigned char**)(&args) ) && nitems > 0 )
-  {
-   XClientMessageEvent  xev;
-   
-   mp_dbg( MSGT_VO,MSGL_STATUS,"[x11] Gnome style stay on top ( layer %d ).\n",layer );
-   memset( &xev,0,sizeof( xev ) );
-   xev.type=ClientMessage;
-   xev.window=vo_window;
-   xev.message_type=XInternAtom( mDisplay,"_WIN_LAYER",False );
-   xev.format=32;
-   switch ( layer ) 
-    {
-     case -1: xev.data.l[0] = WIN_LAYER_ONBOTTOM; break;
-     case  0: xev.data.l[0] = WIN_LAYER_NORMAL;   break;
-     case  1: xev.data.l[0] = WIN_LAYER_ONTOP;    break;
-    }
-   
-   if ( layer ) XRaiseWindow( mDisplay,vo_window );
-   XSendEvent( mDisplay,mRootWin,False,SubstructureNotifyMask,(XEvent*)&xev );
-                                                                             
-   XFree( args );
-   return;
-  }
  type=XInternAtom( mDisplay,"_NET_SUPPORTED",False );
  if ( Success == XGetWindowProperty( mDisplay,mRootWin,type,0,16384,False,AnyPropertyType,&type,&format,&nitems,&bytesafter,(unsigned char**)(&args) ) && nitems > 0 )
   {
@@ -701,6 +677,29 @@
 
    XSendEvent( mDisplay,mRootWin,False,SubstructureRedirectMask,&e );
                                                                   
+   XFree( args );
+   return;
+  }
+ type=XInternAtom( mDisplay,"_WIN_SUPPORTING_WM_CHECK",False );
+ if ( Success == XGetWindowProperty( mDisplay,mRootWin,type,0,16384,False,AnyPropertyType,&type,&format,&nitems,&bytesafter,(unsigned char**)(&args) ) && nitems > 0 )
+  {
+   XClientMessageEvent  xev;
+   
+   mp_dbg( MSGT_VO,MSGL_STATUS,"[x11] Gnome style stay on top ( layer %d ).\n",layer );
+   memset( &xev,0,sizeof( xev ) );
+   xev.type=ClientMessage;
+   xev.window=vo_window;
+   xev.message_type=XInternAtom( mDisplay,"_WIN_LAYER",False );
+   xev.format=32;
+   switch ( layer ) 
+    {
+     case -1: xev.data.l[0] = WIN_LAYER_ONBOTTOM; break;
+     case  0: xev.data.l[0] = WIN_LAYER_NORMAL;   break;
+     case  1: xev.data.l[0] = WIN_LAYER_ONTOP;    break;
+    }
+   XSendEvent( mDisplay,mRootWin,False,SubstructureNotifyMask,(XEvent*)&xev );
+   if ( layer ) XRaiseWindow( mDisplay,vo_window );
+                                                                             
    XFree( args );
    return;
   }



More information about the MPlayer-dev-eng mailing list