From 9835858a4c4402d0925efb5dbb5436b92a47e168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Tue, 21 Dec 2010 14:34:45 +0000 Subject: [PATCH] logic error. re-allow plain moves, sorry :-\ BUG: 260847 svn path=/trunk/KDE/kdebase/workspace/; revision=1208406 --- geometry.cpp | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/geometry.cpp b/geometry.cpp index 67dc8a95de..f599633a8d 100644 --- a/geometry.cpp +++ b/geometry.cpp @@ -1695,6 +1695,7 @@ const QPoint Client::calculateGravitation( bool invert, int gravity ) const void Client::configureRequest( int value_mask, int rx, int ry, int rw, int rh, int gravity, bool from_tool ) { + qDebug() << maximizeMode() << MaximizeFull; if ( maximizeMode() == MaximizeFull) // bugs #158974, #252314 return; // "maximized" is a user setting -> we do not allow the client to resize itself away from this & against the user wish @@ -1728,27 +1729,23 @@ void Client::configureRequest( int value_mask, int rx, int ry, int rw, int rh, i QSize ns = sizeForClientSize( QSize( nw, nh ) ); // enforces size if needed new_pos = rules()->checkPosition( new_pos ); - // TODO what to do with maximized windows? - if ( ns != size()) - { - QRect orig_geometry = geometry(); - GeometryUpdatesBlocker blocker( this ); - move( new_pos ); - 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 ); + QRect orig_geometry = geometry(); + GeometryUpdatesBlocker blocker( this ); + move( new_pos ); + 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 ); - // this is part of the kicker-xinerama-hack... it should be - // safe to remove when kicker gets proper ExtendedStrut support; - // see Workspace::updateClientArea() and - // Client::adjustedClientArea() - if (hasStrut ()) - workspace() -> updateClientArea (); - } + // this is part of the kicker-xinerama-hack... it should be + // safe to remove when kicker gets proper ExtendedStrut support; + // see Workspace::updateClientArea() and + // Client::adjustedClientArea() + if (hasStrut ()) + workspace() -> updateClientArea (); } if ( value_mask & (CWWidth | CWHeight )