shell: send locked_ack on re-registration when the surface is already secure
onScreenLockSecureChanged is an edge. After a sessiond restart our lock surface is already secure, so the edge is in the past and the ack owed by the new handoff was never sent — sessiond logged 'shell never confirmed its lock after handoff' and retook the lock 15s later.
This commit is contained in:
parent
4ed8f3dd74
commit
deda4a7b6b
1 changed files with 8 additions and 0 deletions
|
|
@ -126,6 +126,14 @@ Singleton {
|
|||
// sessiond locked while we were disconnected (it
|
||||
// treats our EOF as shell death). Mirror it.
|
||||
GlobalStates.screenLocked = true;
|
||||
// Our surface may ALREADY be secure from before the
|
||||
// daemon restarted. onScreenLockSecureChanged is an
|
||||
// edge, and that edge is in the past, so nothing
|
||||
// would ever send the ack this new handoff owes —
|
||||
// sessiond waits out its timer and retakes the lock
|
||||
// ("shell never confirmed its lock after handoff").
|
||||
if (GlobalStates.screenLockSecure)
|
||||
root.sendLockedAck();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue