From bd47d07fbc2ec363e8546090adade28318ba4cae Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Sun, 12 May 2013 19:41:21 +0200 Subject: [PATCH] ScreenShield: clear the lock screen early when deactivating Upon popMode, MessageTray will try readding all notifications to their rightful parent, so we must tell NotificationBox to relinquish them before st_bin_set_child() fails (leaving a dangling child pointer and crashing at the next allocation) https://bugzilla.gnome.org/show_bug.cgi?id=698812 --- js/ui/screenShield.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js index d7e020b31..5b3ed9538 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -1115,6 +1115,9 @@ const ScreenShield = new Lang.Class({ deactivate: function(animate) { this._hideLockScreen(animate, 0); + if (this._hasLockScreen) + this._clearLockScreen(); + if (Main.sessionMode.currentMode == 'lock-screen') Main.sessionMode.popMode('lock-screen'); if (Main.sessionMode.currentMode == 'unlock-dialog') @@ -1131,9 +1134,6 @@ const ScreenShield = new Lang.Class({ }, _completeDeactivate: function() { - if (this._hasLockScreen) - this._clearLockScreen(); - if (this._dialog && !this._isGreeter) { this._dialog.destroy(); this._dialog = null;