diff --git a/apps/common/main/lib/component/LoadMask.js b/apps/common/main/lib/component/LoadMask.js index e0792ec67..776e2af88 100644 --- a/apps/common/main/lib/component/LoadMask.js +++ b/apps/common/main/lib/component/LoadMask.js @@ -149,7 +149,7 @@ define([ timerId = 0; } if (ownerEl && ownerEl.ismasked) { - if (ownerEl.closest('.asc-window.modal').length==0) + if (ownerEl.closest('.asc-window.modal').length==0 && !Common.Utils.ModalWindow.isVisible()) Common.util.Shortcuts.resumeEvents(); maskeEl && maskeEl.remove(); diff --git a/apps/common/main/lib/component/Window.js b/apps/common/main/lib/component/Window.js index 063bed7bf..e9dd88e61 100644 --- a/apps/common/main/lib/component/Window.js +++ b/apps/common/main/lib/component/Window.js @@ -803,7 +803,7 @@ define([ } } - Common.NotificationCenter.trigger('modal:close', this); + Common.NotificationCenter.trigger('modal:close', this, hide_mask); } this.$window.remove(); @@ -843,7 +843,7 @@ define([ } } } - Common.NotificationCenter.trigger('modal:hide', this); + Common.NotificationCenter.trigger('modal:hide', this, hide_mask); } this.$window.hide(); this.$window.removeClass('notransform'); diff --git a/apps/common/main/lib/util/Shortcuts.js b/apps/common/main/lib/util/Shortcuts.js index 430646a83..f34ae1ce5 100644 --- a/apps/common/main/lib/util/Shortcuts.js +++ b/apps/common/main/lib/util/Shortcuts.js @@ -99,11 +99,11 @@ Common.util = Common.util||{}; 'modal:show': function(e){ window.key.suspend(); }, - 'modal:close': function(e) { - window.key.resume(); + 'modal:close': function(e, last) { + last && window.key.resume(); }, - 'modal:hide': function(e) { - window.key.resume(); + 'modal:hide': function(e, last) { + last && window.key.resume(); } }); },