[Mplayer-cvslog] CVS: main/Gui/wm ws.c,1.74,1.75

Roberto Togni CVS syncmail at mplayerhq.hu
Sun Jul 11 22:43:33 CEST 2004


CVS change done by Roberto Togni CVS

Update of /cvsroot/mplayer/main/Gui/wm
In directory mail:/var2/tmp/cvs-serv18850/Gui/wm

Modified Files:
	ws.c 
Log Message:
This fixes the problems that originated from my ewmh fs patch, caused by 
a different handling of the wm's ewmh fs implementations.
Patch by Alexander Strasser


Index: ws.c
===================================================================
RCS file: /cvsroot/mplayer/main/Gui/wm/ws.c,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -r1.74 -r1.75
--- ws.c	13 Jun 2004 10:53:06 -0000	1.74
+++ ws.c	11 Jul 2004 20:43:31 -0000	1.75
@@ -770,24 +770,32 @@
 
  if ( win->isFullScreen )
   {
-   win->X=win->OldX;
-   win->Y=win->OldY;
-   win->Width=win->OldWidth;
-   win->Height=win->OldHeight;
-   win->isFullScreen=False;
-   decoration=win->Decorations;
+   vo_x11_ewmh_fullscreen( _NET_WM_STATE_REMOVE ); // removes fullscreen state if wm supports EWMH
+   if ( ! (vo_fs_type & vo_wm_FULLSCREEN) ) // shouldn't be needed with EWMH fs
+    {
+     win->X=win->OldX;
+     win->Y=win->OldY;
+     win->Width=win->OldWidth;
+     win->Height=win->OldHeight;
+     decoration=win->Decorations;
+    }
+
 #ifdef ENABLE_DPMS
    wsScreenSaverOn( wsDisplay );
 #endif
 
-   vo_x11_ewmh_fullscreen( _NET_WM_STATE_REMOVE ); // removes fullscreen state if wm supports EWMH
+   win->isFullScreen=False;
   }
   else
    {
-    win->OldX=win->X; win->OldY=win->Y;
-    win->OldWidth=win->Width; win->OldHeight=win->Height;
-    win->X=wsOrgX; win->Y=wsOrgY;
-    win->Width=wsMaxX; win->Height=wsMaxY;
+    if ( ! (vo_fs_type & vo_wm_FULLSCREEN) ) // shouldn't be needed with EWMH fs
+     {
+      win->OldX=win->X; win->OldY=win->Y;
+      win->OldWidth=win->Width; win->OldHeight=win->Height;
+      win->X=wsOrgX; win->Y=wsOrgY;
+      win->Width=wsMaxX; win->Height=wsMaxY;
+     }
+    
     win->isFullScreen=True;
 #ifdef ENABLE_DPMS
     wsScreenSaverOff( wsDisplay );
@@ -796,15 +804,23 @@
      vo_x11_ewmh_fullscreen( _NET_WM_STATE_ADD ); // adds fullscreen state if wm supports EWMH
    }
 
- vo_x11_decoration( wsDisplay,win->WindowID,decoration );
- vo_x11_sizehint( win->X,win->Y,win->Width,win->Height,0 );
- vo_x11_setlayer( wsDisplay,win->WindowID,win->isFullScreen );
+  if ( ! (vo_fs_type & vo_wm_FULLSCREEN) ) // shouldn't be needed with EWMH fs
+   {
+    vo_x11_decoration( wsDisplay,win->WindowID,decoration );
+    vo_x11_sizehint( win->X,win->Y,win->Width,win->Height,0 );
+    vo_x11_setlayer( wsDisplay,win->WindowID,win->isFullScreen );
+
+    if ((!(win->isFullScreen)) & vo_ontop) vo_x11_setlayer(wsDisplay, win->WindowID,1);
 
-if ((!(win->isFullScreen)) & vo_ontop) vo_x11_setlayer(wsDisplay, win->WindowID,1);
+    XMoveResizeWindow( wsDisplay,win->WindowID,win->X,win->Y,win->Width,win->Height );
+   }
 
  if ( vo_wm_type == 0 && !(vo_fsmode&16) )
-  XWithdrawWindow( wsDisplay,win->WindowID,wsScreen );
- XMoveResizeWindow( wsDisplay,win->WindowID,win->X,win->Y,win->Width,win->Height );
+  {
+   XWithdrawWindow( wsDisplay,win->WindowID,wsScreen );
+  }
+
+
  XMapRaised( wsDisplay,win->WindowID );
  XRaiseWindow( wsDisplay,win->WindowID );
  XFlush( wsDisplay );




More information about the MPlayer-cvslog mailing list