messageTray: Reset summary after losing focus to outside actor

Currently when the summary boxpointer is ungrabbed automatically
because the keyboard focus was moved outside the message tray
(for instance by selecting the overview search entry or opening
the right-click menu of a dash item), after the popup is hidden
_updateState() will grab focus and show the popup again.
Work around this by unsetting the clicked summary item when losing
focus to an actor outside the message tray.

https://bugzilla.gnome.org/show_bug.cgi?id=685156
This commit is contained in:
Florian Müllner 2012-10-04 18:09:01 +02:00
parent d2e830cce3
commit 5bfcc5392d

View File

@ -2495,6 +2495,9 @@ const MessageTray = new Lang.Class({
this._summaryBoxPointer.actor.hide(); this._summaryBoxPointer.actor.hide();
this._hideSummaryBoxPointerCompleted(); this._hideSummaryBoxPointerCompleted();
} else { } else {
if (global.stage.key_focus &&
!this.actor.contains(global.stage.key_focus))
this._setClickedSummaryItem(null);
this._summaryBoxPointer.hide(BoxPointer.PopupAnimation.FULL, Lang.bind(this, this._hideSummaryBoxPointerCompleted)); this._summaryBoxPointer.hide(BoxPointer.PopupAnimation.FULL, Lang.bind(this, this._hideSummaryBoxPointerCompleted));
} }
}, },