messageTray: fix clicking on links again

The change to make Notification an StButton (06d2c0af, bug 642978)
broke links, because the link actor would ignore the
button-press-event, allowing the notification actor to receive it and
get a pointer grab, and so the link actor would never see the
button-release-event. Fix that by accepting and discarding the
button-press-event.

https://bugzilla.gnome.org/show_bug.cgi?id=645613
This commit is contained in:
Dan Winship 2011-03-23 16:05:38 -04:00
parent d2de0865bf
commit 31b12635d1

View File

@ -108,6 +108,12 @@ URLHighlighter.prototype = {
} }
this.setMarkup(text, allowMarkup); this.setMarkup(text, allowMarkup);
this.actor.connect('button-press-event', function() {
// Keep Notification.actor from seeing this and taking
// a pointer grab, which would block our button-release-event
// handler
return true;
});
this.actor.connect('button-release-event', Lang.bind(this, function (actor, event) { this.actor.connect('button-release-event', Lang.bind(this, function (actor, event) {
let urlId = this._findUrlAtPos(event); let urlId = this._findUrlAtPos(event);
if (urlId != -1) { if (urlId != -1) {