From 094669baee661086ac639e1813e704c0eff10149 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Mon, 2 Jun 2014 13:28:18 -0400 Subject: [PATCH] messageTray: Clear the pointer left timeout when showing a notification When the pointer leaves the notification area, we queue a timeout to hide the notification after a little while. If the user is hovering over a notification and clicks the X button to close the notification, we will destroy the notification, which causes a "pointer left" event on the notification area. This queues a timeout which erroneously fires after the next notification in the queue shows up. The code and state machine are too complex to properly make sure this timeout doesn't fire when there is no notification up next, so instead just clear it when showing a notification to make sure that any previously queued timeout doesn't apply to us. https://bugzilla.gnome.org/show_bug.cgi?id=731118 --- js/ui/messageTray.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 971c451a9..d7d098142 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -2631,6 +2631,8 @@ const MessageTray = new Lang.Class({ // the mouse is moving towards it or within it. this._lastSeenMouseX = x; this._lastSeenMouseY = y; + + this._resetNotificationLeftTimeout(); }, _updateShowingNotification: function() {