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

List:       kde-commits
Subject:    KDE/kdebase/kwin
From:       Luboš Luňák <l.lunak () kde ! org>
Date:       2005-06-24 15:22:35
Message-ID: 1119626555.903833.8276.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 428551 by lunakl:

No idea what this setShapable() stuff is, but it certainly
doesn't belong to detectNoBorder().
CCMAIL: thomas.luebking@web.de



 M  +24 -1     client.cpp  
 M  +1 -0      client.h  
 M  +1 -0      manage.cpp  


--- trunk/KDE/kdebase/kwin/client.cpp #428550:428551
@@ -358,7 +358,6 @@
         case NET::Dialog :
         case NET::Utility :
             noborder = false;
-            setShapable(FALSE);
           break;
         default:
             assert( false );
@@ -370,6 +369,30 @@
         noborder = true;
     }
 
+void Client::detectShapable()
+    {
+    if( Shape::hasShape( window()))
+        return;
+    switch( windowType())
+        {
+        case NET::Desktop :
+        case NET::Dock :
+        case NET::TopMenu :
+        case NET::Splash :
+          break;
+        case NET::Unknown :
+        case NET::Normal :
+        case NET::Toolbar :
+        case NET::Menu :
+        case NET::Dialog :
+        case NET::Utility :
+            setShapable(FALSE);
+          break;
+        default:
+            assert( false );
+        }
+    }
+
 void Client::updateFrameExtents()
     {
     NETStrut strut;
--- trunk/KDE/kdebase/kwin/client.h #428550:428551
@@ -405,6 +405,7 @@
 
         void embedClient( Window w, const XWindowAttributes &attr );    
         void detectNoBorder();
+        void detectShapable();
         void destroyDecoration();
         void updateFrameExtents();
 
--- trunk/KDE/kdebase/kwin/manage.cpp #428550:428551
@@ -104,6 +104,7 @@
     setCaption( cap_normal, true );
 
     detectNoBorder();
+    detectShapable();
     fetchIconicName();
     getWMHints(); // needs to be done before readTransient() because of reading the group
     modal = ( info->state() & NET::Modal ) != 0; // needs to be valid before handling groups
[prev in list] [next in list] [prev in thread] [next in thread] 

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