diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2014-05-02 17:05:37 +0200 |
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2014-05-02 17:05:37 +0200 |
| commit | c33b1237c3ff89d5eac6d91bd5156121359d7c80 (patch) | |
| tree | 616f915978b2009f1ea3e2c3c126bfe6925a74e0 /plugins | |
| parent | da84236acc41d0ec61109d29aca5f5d80b07dbe3 (diff) | |
| parent | 06671de6ad076a8978d990f3436cca4539388909 (diff) | |
Mergin with trunk
(bzr r3788.3.7)
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/unityshell/src/unityshell.cpp | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/plugins/unityshell/src/unityshell.cpp b/plugins/unityshell/src/unityshell.cpp index 12590e813..10e09651e 100644 --- a/plugins/unityshell/src/unityshell.cpp +++ b/plugins/unityshell/src/unityshell.cpp @@ -3762,21 +3762,30 @@ void UnityScreen::OnDashRealized() void UnityScreen::OnLockScreenRequested() { if (switcher_controller_->Visible()) - { switcher_controller_->Hide(false); - } - else if (launcher_controller_->IsOverlayOpen()) - { + + if (dash_controller_->IsVisible()) dash_controller_->HideDash(); + + if (hud_controller_->IsVisible()) hud_controller_->HideHud(); - } launcher_controller_->ClearTooltips(); + if (launcher_controller_->KeyNavIsActive()) + launcher_controller_->KeyNavTerminate(false); + + if (QuicklistManager::Default()->Current()) + QuicklistManager::Default()->Current()->Hide(); + auto& wm = WindowManager::Default(); + if (wm.IsScaleActive()) wm.TerminateScale(); + if (wm.IsExpoActive()) + wm.TerminateExpo(); + RaiseOSK(); } @@ -3795,8 +3804,12 @@ void UnityScreen::OnScreenLocked() } } - // We notify that super has been released, to avoid to leave unity in inconsistent state + for (auto& action : getActions()) + screen->removeAction(&action); + + // We notify that super/alt have been released, to avoid to leave unity in inconsistent state showLauncherKeyTerminate(&optionGetShowLauncher(), CompAction::StateTermKey, getOptions()); + showMenuBarTerminate(&optionGetShowMenuBar(), CompAction::StateTermKey, getOptions()); } void UnityScreen::OnScreenUnlocked() @@ -3808,6 +3821,9 @@ void UnityScreen::OnScreenUnlocked() if (option.isAction()) screen->addAction(&option.value().action()); } + + for (auto& action : getActions()) + screen->addAction(&action); } void UnityScreen::SaveLockStamp(bool save) |
