FLEX-33976 Don't unblur until you are the last modal window
Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/5093c0fc
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/5093c0fc
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/5093c0fc
Branch: refs/heads/develop
Commit: 5093c0fc5bb07479e1e1b43d08de8a8b33ada431
Parents: 0e60b96
Author: Alex Harui <aharui@apache.org>
Authored: Thu Dec 5 11:04:42 2013 -0800
Committer: Alex Harui <aharui@apache.org>
Committed: Thu Dec 5 11:05:07 2013 -0800
----------------------------------------------------------------------
.../src/mx/managers/PopUpManagerImpl.as | 30 +++++++++++++-------
1 file changed, 19 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/5093c0fc/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as b/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
index da14742..930171a 100644
--- a/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
+++ b/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
@@ -1030,19 +1030,27 @@ public class PopUpManagerImpl extends EventDispatcher implements IPopUpManager
o.fade = fade;
fade.play();
- // Blur effect on the application
- const blurAmount:Number = popUpStyleClient.getStyle("modalTransparencyBlur");
-
- if (blurAmount)
+ var sm:ISystemManager = o.systemManager;
+ var awm:IActiveWindowManager =
+ IActiveWindowManager(sm.getImplementation("mx.managers::IActiveWindowManager"));
+ // don't remove blur unless this is the last modal window
+ if (awm.numModalWindows == 1)
{
- const blur:Blur = new Blur(o.blurTarget);
- blur.blurXFrom = blur.blurYFrom = blurAmount;
- blur.blurXTo = blur.blurYTo = 0;
- blur.duration = duration;
- blur.addEventListener(EffectEvent.EFFECT_END, effectEndHandler);
- o.blur = blur;
- blur.play();
+ // Blur effect on the application
+ const blurAmount:Number = popUpStyleClient.getStyle("modalTransparencyBlur");
+
+ if (blurAmount)
+ {
+ const blur:Blur = new Blur(o.blurTarget);
+ blur.blurXFrom = blur.blurYFrom = blurAmount;
+ blur.blurXTo = blur.blurYTo = 0;
+ blur.duration = duration;
+ blur.addEventListener(EffectEvent.EFFECT_END, effectEndHandler);
+ o.blur = blur;
+
+ blur.play();
+ }
}
}
else
|