From 40c5db397d268fd285278a19f8145f626b28739b Mon Sep 17 00:00:00 2001 From: Marina Zhurakhinskaya Date: Thu, 22 Sep 2011 23:37:11 -0400 Subject: [PATCH] messageTray: unset this._clickedSummaryItem if we are hiding the summary box pointer and don't have a new clicked summary item This ensures that this._clickedSummaryItem is always unset correctly. Because we disconnect the signals that have _adjustSummaryBoxPointerPosition() as a callback when unsetting this._clickedSummaryItem, we no longer call setPosition() on this._summaryBoxPointer after it is hidden. Calling setPosition() shows the box pointer again, which previously resulted in an empty box pointer staying behind when a notification associated with a tray icon was clicked. https://bugzilla.gnome.org/show_bug.cgi?id=659862 --- js/ui/messageTray.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index fcf2f42fc..863930b39 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -2349,8 +2349,9 @@ MessageTray.prototype = { } this._summaryBoxPointerState = State.HIDING; - // Unset this._clickedSummaryItem if we are no longer showing the summary - if (this._summaryState != State.SHOWN) + // Unset this._clickedSummaryItem if we are no longer showing the summary or if + // this._clickedSummaryItem is still the item associated with the currently showing box pointer + if (this._summaryState != State.SHOWN || this._summaryBoxPointerItem == this._clickedSummaryItem) this._unsetClickedSummaryItem(); this._focusGrabber.ungrabFocus();