Merge lp:~unity-team/unity/double-lockscreen into lp:unity

Proposed by Brandon Schaefer
Status: Merged
Approved by: Stephen M. Webb
Approved revision: no longer in the source branch.
Merged at revision: 3743
Proposed branch: lp:~unity-team/unity/double-lockscreen
Merge into: lp:unity
Diff against target: 36 lines (+7/-1)
2 files modified
lockscreen/LockScreenAbstractShield.h (+1/-0)
lockscreen/LockScreenController.cpp (+6/-1)
To merge this branch: bzr merge lp:~unity-team/unity/double-lockscreen
Reviewer Review Type Date Requested Status
Sebastien Bacher Needs Fixing
PS Jenkins bot (community) continuous-integration Approve
Stephen M. Webb (community) Approve
Review via email: mp+212517@code.launchpad.net

Commit message

Fixes the double lockscreen when switching users.

To post a comment you must log in.
Revision history for this message
Stephen M. Webb (bregma) wrote :

OK

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Sebastien Bacher (seb128) wrote :

That fix didn't work...

Doing:
- log as your user
- use the indicator-session to start a guest session
- close that session (which brings you back to unity-greeter)
- type your password

That sends you back to a lockeed session :/ (that's using today's trusty landing, the new code is running since e.g "esc" is clearing the password entry)

review: Needs Fixing

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lockscreen/LockScreenAbstractShield.h'
2--- lockscreen/LockScreenAbstractShield.h 2014-03-07 19:17:35 +0000
3+++ lockscreen/LockScreenAbstractShield.h 2014-03-24 22:10:25 +0000
4@@ -45,6 +45,7 @@
5 nux::Property<bool> primary;
6 nux::Property<int> monitor;
7
8+ using MockableBaseWindow::RemoveLayout;
9 virtual bool IsIndicatorOpen() const = 0;
10
11 sigc::signal<void, int, int> grab_motion;
12
13=== modified file 'lockscreen/LockScreenController.cpp'
14--- lockscreen/LockScreenController.cpp 2014-03-21 19:34:31 +0000
15+++ lockscreen/LockScreenController.cpp 2014-03-24 22:10:25 +0000
16@@ -74,6 +74,11 @@
17 motion_connection_->disconnect();
18 uscreen_connection_->block();
19 session_manager_->unlocked.emit();
20+
21+ std::for_each(shields_.begin(), shields_.end(), [](nux::ObjectPtr<Shield> const& shield) {
22+ shield->RemoveLayout();
23+ });
24+
25 shields_.clear();
26
27 if (Settings::Instance().lockscreen_type() == Type::UNITY)
28@@ -231,7 +236,7 @@
29
30 void Controller::OnUnlockRequested()
31 {
32- lockscreen_timeout_.release();
33+ lockscreen_timeout_.reset();
34
35 if (!IsLocked())
36 return;