Really fix MPlayer. It's nice to see people trust me and nobody has

actually tested MPlayer.

svn path=/trunk/kdebase/kwin/; revision=335441
This commit is contained in:
Luboš Luňák 2004-08-03 09:21:18 +00:00
parent 919755520f
commit 001646f3d8
2 changed files with 13 additions and 5 deletions

View file

@ -785,8 +785,12 @@ void Client::configureRequestEvent( XConfigureRequestEvent* e )
if ( isResize() || isMove())
return; // we have better things to do right now
if( isFullScreen() // refuse resizing of fullscreen windows
|| isSplash() // no manipulations with splashscreens either
if( fullscreen_mode == FullScreenNormal ) // refuse resizing of fullscreen windows
{ // but allow resizing fullscreen hacks in order to let them cancel fullscreen mode
sendSyntheticConfigureNotify();
return;
}
if( isSplash() // no manipulations with splashscreens either
|| isTopMenu()) // topmenus neither
{
sendSyntheticConfigureNotify();

View file

@ -1364,17 +1364,18 @@ void Client::configureRequest( int value_mask, int rx, int ry, int rw, int rh, i
|| ns != size())
{
QRect orig_geometry = geometry();
resetMaximize();
++block_geometry;
resetMaximize();
move( new_pos );
plainResize( ns ); // TODO must(?) resize before gravitating?
plainResize( ns );
setGeometry( QRect( calculateGravitation( false, gravity ), size()));
updateFullScreenHack( QRect( new_pos, QSize( nw, nh )));
QRect area = workspace()->clientArea( WorkArea, this );
if( !from_tool && ( !isSpecialWindow() || isToolbar()) && !isFullScreen()
&& area.contains( orig_geometry ))
keepInArea( area );
--block_geometry;
setGeometry( QRect( calculateGravitation( false, gravity ), size()), ForceGeometrySet );
setGeometry( geometry(), ForceGeometrySet );
// this is part of the kicker-xinerama-hack... it should be
// safe to remove when kicker gets proper ExtendedStrut support;
@ -1402,6 +1403,7 @@ void Client::configureRequest( int value_mask, int rx, int ry, int rw, int rh, i
if( ns != size()) // don't restore if some app sets its own size again
{
QRect orig_geometry = geometry();
++block_geometry;
resetMaximize();
int save_gravity = xSizeHint.win_gravity;
xSizeHint.win_gravity = gravity;
@ -1412,6 +1414,8 @@ void Client::configureRequest( int value_mask, int rx, int ry, int rw, int rh, i
if( !from_tool && ( !isSpecialWindow() || isToolbar()) && !isFullScreen()
&& area.contains( orig_geometry ))
keepInArea( area );
--block_geometry;
setGeometry( geometry(), ForceGeometrySet );
}
}
// No need to send synthetic configure notify event here, either it's sent together