ecere/gui/Window: Always flashing window rather than activating if app is inactive
authorJerome St-Louis <jerome@ecere.com>
Thu, 10 Jul 2014 07:40:31 +0000 (03:40 -0400)
committerJerome St-Louis <jerome@ecere.com>
Thu, 10 Jul 2014 08:40:11 +0000 (04:40 -0400)
ecere/src/gui/Window.ec

index 4b4fdec..74f22d9 100644 (file)
@@ -6358,10 +6358,13 @@ public:
                         /*if(rootWindow == this)
                            guiApp.interfaceDriver.ActivateRootWindow(this);
                         else*/
-                        if(creationActivation == activate)
+                        if(creationActivation == activate && guiApp.desktop.active)
                            ActivateEx(true, false, true, true, null, null);
-                        else if(creationActivation == flash)
+                        else if(creationActivation == activate || creationActivation == flash)
+                        {
+                           MakeActive();
                            Flash();
+                        }
                      }
 
                      if(!destroyed)
@@ -6861,7 +6864,10 @@ public:
       if(guiApp.desktop.active)
          Activate();
       else if(!active)
+      {
+         MakeActive();
          Flash();
+      }
    }
 
    void Deactivate(void)
@@ -9125,10 +9131,13 @@ public:
                if(true || !parent.activeChild)
                   ActivateEx(true, false, true, true, null, null);
                */
-               if(creationActivation == activate)
+               if(creationActivation == activate && guiApp.desktop.active)
                   ActivateEx(true, false, true, true, null, null);
-               else if(creationActivation == flash && !object)
+               else if((creationActivation == activate || creationActivation == flash) && !object)
+               {
+                  MakeActive();
                   Flash();
+               }
 
                //SetVisibility(!parent.style.hidden && (style.hidden ? false : true));
                Update(null);