[Mplayer-cvslog] CVS: main/libvo x11_common.c,1.173,1.174
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/libvo
In directory mail:/var2/tmp/cvs-serv18850/libvo
Modified Files:
x11_common.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: x11_common.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/x11_common.c,v
retrieving revision 1.173
retrieving revision 1.174
diff -u -r1.173 -r1.174
--- x11_common.c 14 Jun 2004 04:53:03 -0000 1.173
+++ x11_common.c 11 Jul 2004 20:43:30 -0000 1.174
@@ -78,7 +78,7 @@
int WinID = -1;
int vo_mouse_autohide = 0;
int vo_wm_type = 0;
-static int vo_fs_type = 0;
+int vo_fs_type = 0; // needs to be accessible for GUI X11 code
static int vo_fs_flip = 0;
char **vo_fstype_list;
@@ -1403,34 +1403,39 @@
if (vo_fs)
{
// fs->win
- vo_x11_ewmh_fullscreen(_NET_WM_STATE_REMOVE); // removes fullscreen state if wm supports EWMH
+ if ( ! (vo_fs_type & vo_wm_FULLSCREEN) ) // not needed with EWMH fs
+ {
+ if (vo_dwidth != vo_screenwidth && vo_dheight != vo_screenheight)
+ return;
+ x = vo_old_x;
+ y = vo_old_y;
+ w = vo_old_width;
+ h = vo_old_height;
+ }
- if (vo_dwidth != vo_screenwidth && vo_dheight != vo_screenheight)
- return;
+ vo_x11_ewmh_fullscreen(_NET_WM_STATE_REMOVE); // removes fullscreen state if wm supports EWMH
vo_fs = VO_FALSE;
- x = vo_old_x;
- y = vo_old_y;
- w = vo_old_width;
- h = vo_old_height;
} else
{
// win->fs
vo_x11_ewmh_fullscreen(_NET_WM_STATE_ADD); // sends fullscreen state to be added if wm supports EWMH
- if (vo_old_width &&
- (vo_dwidth == vo_screenwidth && vo_dwidth != vo_old_width) &&
- (vo_dheight == vo_screenheight && vo_dheight != vo_old_height))
- return;
vo_fs = VO_TRUE;
- vo_old_x = vo_dx;
- vo_old_y = vo_dy;
- vo_old_width = vo_dwidth;
- vo_old_height = vo_dheight;
- x = 0;
- y = 0;
- w = vo_screenwidth;
- h = vo_screenheight;
-
+ if ( ! (vo_fs_type & vo_wm_FULLSCREEN) ) // not needed with EWMH fs
+ {
+ if (vo_old_width &&
+ (vo_dwidth == vo_screenwidth && vo_dwidth != vo_old_width) &&
+ (vo_dheight == vo_screenheight && vo_dheight != vo_old_height))
+ return;
+ vo_old_x = vo_dx;
+ vo_old_y = vo_dy;
+ vo_old_width = vo_dwidth;
+ vo_old_height = vo_dheight;
+ x = 0;
+ y = 0;
+ w = vo_screenwidth;
+ h = vo_screenheight;
+ }
}
{
long dummy;
@@ -1448,17 +1453,21 @@
vo_fs_flip = 1;
}
- vo_x11_decoration(mDisplay, vo_window, (vo_fs) ? 0 : 1);
- vo_x11_sizehint(x, y, w, h, 0);
- vo_x11_setlayer(mDisplay, vo_window, vo_fs);
+ if ( ! (vo_fs_type & vo_wm_FULLSCREEN) ) // not needed with EWMH fs
+ {
+ vo_x11_decoration(mDisplay, vo_window, (vo_fs) ? 0 : 1);
+ vo_x11_sizehint(x, y, w, h, 0);
+ vo_x11_setlayer(mDisplay, vo_window, vo_fs);
- if ((!(vo_fs)) & vo_ontop)
- vo_x11_setlayer(mDisplay, vo_window, vo_ontop);
+ if ((!(vo_fs)) & vo_ontop)
+ vo_x11_setlayer(mDisplay, vo_window, vo_ontop);
- XMoveResizeWindow(mDisplay, vo_window, x, y, w, h);
+ XMoveResizeWindow(mDisplay, vo_window, x, y, w, h);
+ }
#ifdef HAVE_XINERAMA
vo_x11_xinerama_move(mDisplay, vo_window);
#endif
+
XMapRaised(mDisplay, vo_window);
XRaiseWindow(mDisplay, vo_window);
XFlush(mDisplay);
More information about the MPlayer-cvslog
mailing list