[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.4/kdebase/workspace/kwin
From:       Hugo Pereira Da Costa <hugo.pereira () free ! fr>
Date:       2010-01-22 2:52:33
Message-ID: 1264128753.490756.30340.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1078326 by hpereiradacosta:

Backport: r1078325
Force update of decoration pixmap in setGeometry when maximize state is changed even if the size is not,
to handle changes in decoration pixelMetrics right.
CCBUG: 223060


 M  +10 -1     geometry.cpp  


--- branches/KDE/4.4/kdebase/workspace/kwin/geometry.cpp #1078325:1078326
@@ -2015,11 +2015,20 @@
     // SELI TODO won't this be too expensive?
     sendSyntheticConfigureNotify();
     updateWindowRules();
+    
+    // keep track of old maximize mode 
+    // to detect changes
+    MaximizeMode old_mode( max_mode );
     checkMaximizeGeometry();
     workspace()->checkActiveScreen( this );
     workspace()->updateStackingOrder();
     workspace()->checkUnredirect();
-    if( resized )
+    
+    // need to regenerate decoration pixmaps when either
+    // - size is changed
+    // - maximize mode is changed to MaximizeRestore, when size unchanged
+    //   which can happen when untabbing maximized windows
+    if( resized || ( old_mode != max_mode && max_mode == MaximizeRestore ) )
         {
         discardWindowPixmap();
         if( scene != NULL )
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic