ecere: Fixes for driver switch flicker; Tiling windows; Window listing dialog; Vanill...
authorJerome St-Louis <jstlouis@gallium.com>
Thu, 18 Aug 2011 18:48:38 +0000 (14:48 -0400)
committerJerome St-Louis <jstlouis@gallium.com>
Thu, 18 Aug 2011 18:48:38 +0000 (14:48 -0400)
ecere/ecere.epj
ecere/src/gui/Window.ec
ecere/src/gui/drivers/Win32Interface.ec

index cdc9cc3..54927a9 100644 (file)
@@ -1205,9 +1205,14 @@ from wherever you obtained them.",
                            "Configurations" : [
                               {
                                  "Name" : "Vanilla",
-                                 "Options" : {
-                                    "ExcludeFromBuild" : true
-                                 }
+                                 "Platforms" : [
+                                    {
+                                       "Name" : "win32",
+                                       "Options" : {
+                                          "ExcludeFromBuild" : true
+                                       }
+                                    }
+                                 ]
                               }
                            ]
                         },
@@ -1275,6 +1280,12 @@ from wherever you obtained them.",
                            "Options" : {
                               "ExcludeFromBuild" : true
                            }
+                        },
+                        {
+                           "Name" : "Vanilla",
+                           "Options" : {
+                              "ExcludeFromBuild" : true
+                           }
                         }
                      ]
                   },
index 697de2c..edaa90d 100644 (file)
@@ -5683,7 +5683,7 @@ private:
       char caption[2048];
       for(child = children.first; child; child = child.next)
       {
-         if(child.cycle && !child.style.nonClient && child.style.isActiveClient)
+         if(child.cycle && !child.style.nonClient && child.style.isActiveClient && child.visible)
          {
             DataRow row = listBox.AddRow();
             row.tag = (int)child;
@@ -8650,6 +8650,12 @@ public:
             Window client = null;
 
             style.hidden = true;
+            if(style.isActiveClient)
+            {
+               parent.numPositions--;
+               if(state == minimized) parent.numIcons--;
+            }
+
             if(created)
             {
                OldLink prevOrder = null;
@@ -8671,12 +8677,6 @@ public:
                if(style.modal && master && master.modalSlave == this)
                   master.modalSlave = null;
 
-               if(style.isActiveClient)
-               {
-                  parent.numPositions--;
-                  if(state == minimized) parent.numIcons--;
-               }
-
                if(order)
                {
                   OldLink tmpPrev = order.prev;
@@ -8752,6 +8752,11 @@ public:
                order = null;
                */
                
+               if(style.isActiveClient && !value)
+               {
+                  if(state == minimized) parent.numIcons--;
+                  parent.numPositions--;
+               }
                SetVisibility(!parent.style.hidden && (style.hidden ? false : true));
             }
 
index 0f03e3d..517a2ee 100644 (file)
@@ -964,7 +964,8 @@ class Win32Interface : Interface
                   h = rcWindow.bottom - rcWindow.top;
 
                   AeroSnapPosition(window, x, y, w, h);
-                  window.UpdateVisual(null);
+                  if(!guiApp.modeSwitching)
+                     window.UpdateVisual(null);
                }
                else
                   return (uint)DefWindowProc(windowHandle, msg, wParam, lParam);