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()) if ( isResize() || isMove())
return; // we have better things to do right now return; // we have better things to do right now
if( isFullScreen() // refuse resizing of fullscreen windows if( fullscreen_mode == FullScreenNormal ) // refuse resizing of fullscreen windows
|| isSplash() // no manipulations with splashscreens either { // 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 || isTopMenu()) // topmenus neither
{ {
sendSyntheticConfigureNotify(); sendSyntheticConfigureNotify();

View file

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