Commit 581319a1 authored by Sam Hocevar's avatar Sam Hocevar

* ./plugins/x11/xcommon.c: fixed x11 and xvideo alternate fullscreen (gibalou

    on t'aiiiiiiiiimeuh).
parent 50e52624
List of known vlc bugs $Id: BUGS,v 1.12 2002/05/19 16:01:26 massiot Exp $ List of known vlc bugs $Id: BUGS,v 1.13 2002/05/20 22:30:19 sam Exp $
Please try to keep this file up to date. Also, grep for FIXME in the Please try to keep this file up to date. Also, grep for FIXME in the
source files for more and more bugs to fix. source files for more and more bugs to fix.
...@@ -36,9 +36,6 @@ Video output: ...@@ -36,9 +36,6 @@ Video output:
* On-the-fly resizing when using a chroma transformation doesn't work for * On-the-fly resizing when using a chroma transformation doesn't work for
all plugins. Currently it is only implemented for x11 and SDL. all plugins. Currently it is only implemented for x11 and SDL.
* The alternate_fullscreen method of the x11 and xvideo plugins will
sometimes not switch to fullscreen.
Chroma transformations: Chroma transformations:
* Most chroma transformation modules completely ignore margins. * Most chroma transformation modules completely ignore margins.
......
...@@ -9,6 +9,8 @@ HEAD ...@@ -9,6 +9,8 @@ HEAD
0.4.0 0.4.0
Mon, 20 May 2002 22:53:48 +0200 Mon, 20 May 2002 22:53:48 +0200
* ./configure.in: tried to fix the -lavcodec detection.
* ./plugins/x11/xcommon.c: fixed x11 and xvideo alternate fullscreen.
* ./plugins/network/ipv6.c: experimental support for Windows IPv6 * ./plugins/network/ipv6.c: experimental support for Windows IPv6
* ./plugins/a52/a52.c: added an option to disable the dynamic range * ./plugins/a52/a52.c: added an option to disable the dynamic range
compression. compression.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* xcommon.c: Functions common to the X11 and XVideo plugins * xcommon.c: Functions common to the X11 and XVideo plugins
***************************************************************************** *****************************************************************************
* Copyright (C) 1998-2001 VideoLAN * Copyright (C) 1998-2001 VideoLAN
* $Id: xcommon.c,v 1.33 2002/05/18 17:47:47 sam Exp $ * $Id: xcommon.c,v 1.34 2002/05/20 22:30:19 sam Exp $
* *
* Authors: Vincent Seguin <seguin@via.ecp.fr> * Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -1415,7 +1415,6 @@ static void ToggleFullScreen ( vout_thread_t *p_vout ) ...@@ -1415,7 +1415,6 @@ static void ToggleFullScreen ( vout_thread_t *p_vout )
Atom prop; Atom prop;
mwmhints_t mwmhints; mwmhints_t mwmhints;
int i_xpos, i_ypos, i_width, i_height; int i_xpos, i_ypos, i_width, i_height;
XEvent xevent;
XSetWindowAttributes attributes; XSetWindowAttributes attributes;
p_vout->b_fullscreen = !p_vout->b_fullscreen; p_vout->b_fullscreen = !p_vout->b_fullscreen;
...@@ -1543,35 +1542,18 @@ static void ToggleFullScreen ( vout_thread_t *p_vout ) ...@@ -1543,35 +1542,18 @@ static void ToggleFullScreen ( vout_thread_t *p_vout )
/* We need to unmap and remap the window if we want the window /* We need to unmap and remap the window if we want the window
* manager to take our changes into effect */ * manager to take our changes into effect */
XUnmapWindow( p_vout->p_sys->p_display, p_vout->p_sys->window); XReparentWindow( p_vout->p_sys->p_display,
p_vout->p_sys->window,
XWindowEvent( p_vout->p_sys->p_display, p_vout->p_sys->window, DefaultRootWindow( p_vout->p_sys->p_display ),
StructureNotifyMask, &xevent ); 0, 0 );
while( xevent.type != UnmapNotify ) XSync( p_vout->p_sys->p_display, True );
XWindowEvent( p_vout->p_sys->p_display, p_vout->p_sys->window,
StructureNotifyMask, &xevent );
XMapRaised( p_vout->p_sys->p_display, p_vout->p_sys->window);
while( xevent.type != MapNotify )
XWindowEvent( p_vout->p_sys->p_display, p_vout->p_sys->window,
StructureNotifyMask, &xevent );
XMoveResizeWindow( p_vout->p_sys->p_display, XMoveResizeWindow( p_vout->p_sys->p_display,
p_vout->p_sys->window, p_vout->p_sys->window,
i_xpos, i_xpos,
i_ypos, i_ypos,
i_width, i_width,
i_height ); i_height );
XSync( p_vout->p_sys->p_display, True );
/* Purge all ConfigureNotify events, this is needed to fix a bug where we
* would lose the original size of the window */
while( xevent.type != ConfigureNotify )
XWindowEvent( p_vout->p_sys->p_display, p_vout->p_sys->window,
StructureNotifyMask, &xevent );
while( XCheckWindowEvent( p_vout->p_sys->p_display, p_vout->p_sys->window,
StructureNotifyMask, &xevent ) );
/* We need to check that the window was really restored where we wanted */ /* We need to check that the window was really restored where we wanted */
if( !p_vout->b_fullscreen ) if( !p_vout->b_fullscreen )
...@@ -1598,16 +1580,7 @@ static void ToggleFullScreen ( vout_thread_t *p_vout ) ...@@ -1598,16 +1580,7 @@ static void ToggleFullScreen ( vout_thread_t *p_vout )
p_vout->p_sys->i_xpos_backup_2, p_vout->p_sys->i_xpos_backup_2,
p_vout->p_sys->i_ypos_backup_2 ); p_vout->p_sys->i_ypos_backup_2 );
/* Purge all ConfigureNotify events, this is needed to fix a bug XSync( p_vout->p_sys->p_display, True );
* where we would lose the original size of the window */
XWindowEvent( p_vout->p_sys->p_display, p_vout->p_sys->window,
StructureNotifyMask, &xevent );
while( xevent.type != ConfigureNotify )
XWindowEvent( p_vout->p_sys->p_display, p_vout->p_sys->window,
StructureNotifyMask, &xevent );
while( XCheckWindowEvent( p_vout->p_sys->p_display,
p_vout->p_sys->window,
StructureNotifyMask, &xevent ) );
} }
/* Check the size */ /* Check the size */
...@@ -1630,20 +1603,11 @@ static void ToggleFullScreen ( vout_thread_t *p_vout ) ...@@ -1630,20 +1603,11 @@ static void ToggleFullScreen ( vout_thread_t *p_vout )
p_vout->p_sys->i_width_backup_2, p_vout->p_sys->i_width_backup_2,
p_vout->p_sys->i_height_backup_2 ); p_vout->p_sys->i_height_backup_2 );
/* Purge all ConfigureNotify events, this is needed to fix a bug XSync( p_vout->p_sys->p_display, True );
* where we would lose the original size of the window */
XWindowEvent( p_vout->p_sys->p_display, p_vout->p_sys->window,
StructureNotifyMask, &xevent );
while( xevent.type != ConfigureNotify )
XWindowEvent( p_vout->p_sys->p_display, p_vout->p_sys->window,
StructureNotifyMask, &xevent );
while( XCheckWindowEvent( p_vout->p_sys->p_display,
p_vout->p_sys->window,
StructureNotifyMask, &xevent ) );
} }
} }
if( p_vout->p_sys->b_altfullscreen ) if( p_vout->p_sys->b_altfullscreen && p_vout->b_fullscreen )
XSetInputFocus(p_vout->p_sys->p_display, XSetInputFocus(p_vout->p_sys->p_display,
p_vout->p_sys->window, p_vout->p_sys->window,
RevertToParent, RevertToParent,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment