[gnome-shell] ScreenShield: when the user goes idle, check for active before pushing a modal
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] ScreenShield: when the user goes idle, check for active before pushing a modal
- Date: Thu, 4 Jul 2013 13:18:49 +0000 (UTC)
commit d509ab7779a9e87d59a163a1d5242268cf082b97
Author: Giovanni Campagna <gcampagna src gnome org>
Date: Tue Jun 4 18:58:58 2013 +0200
ScreenShield: when the user goes idle, check for active before pushing a modal
We can't assume "isActive implies isModal", so there is a risk
of pushing a modal that nothing else will ever pop, because we
take the early return and don't activate the user active watch.
https://bugzilla.gnome.org/show_bug.cgi?id=700901
js/ui/screenShield.js | 26 +++++++++++++-------------
1 files changed, 13 insertions(+), 13 deletions(-)
---
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index 15cc65f..3588547 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -764,19 +764,6 @@ const ScreenShield = new Lang.Class({
}
}
- if (!this._becomeModal()) {
- // We could not become modal, so we can't activate the
- // screenshield. The user is probably very upset at this
- // point, but any application using global grabs is broken
- // Just tell him to stop using this app
- //
- // XXX: another option is to kick the user into the gdm login
- // screen, where we're not affected by grabs
- Main.notifyError(_("Unable to lock"),
- _("Lock was blocked by an application"));
- return;
- }
-
if (this._lightbox.actor.visible ||
this._isActive) {
// We're either shown and active, or in the process of
@@ -790,6 +777,19 @@ const ScreenShield = new Lang.Class({
return;
}
+ if (!this._becomeModal()) {
+ // We could not become modal, so we can't activate the
+ // screenshield. The user is probably very upset at this
+ // point, but any application using global grabs is broken
+ // Just tell him to stop using this app
+ //
+ // XXX: another option is to kick the user into the gdm login
+ // screen, where we're not affected by grabs
+ Main.notifyError(_("Unable to lock"),
+ _("Lock was blocked by an application"));
+ return;
+ }
+
this._lightbox.show();
if (this._activationTime == 0)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]