From ed5e50239b7f4e449a58f818d5d2f6610f729ab1 Mon Sep 17 00:00:00 2001 From: Sam Parkinson Date: Wed, 15 Jun 2016 08:01:11 +1000 Subject: [PATCH] Don't activate EventIcons after touch long press Steps to reproduce: 1. Long press activity icon on homeview Expcected: Palette invokes, icon not activated Actual: Palette invokes, icon also activated, activity launched This was because the "activate" signal was emitted before the palette invoker got it's signal, meaning the palette invoker couldn't scilence the event. --- src/sugar3/graphics/icon.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sugar3/graphics/icon.py b/src/sugar3/graphics/icon.py index c9d278be..df38233b 100644 --- a/src/sugar3/graphics/icon.py +++ b/src/sugar3/graphics/icon.py @@ -576,6 +576,10 @@ class EventIcon(Gtk.EventBox): Gdk.EventMask.TOUCH_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK) self.connect('button-release-event', self.__button_release_event_cb) + # Connect after the default so that the palette can silence events + # for example, after a touch palette invocation + self.connect_after('button-release-event', + self.__button_release_event_cb) for key, value in kwargs.iteritems(): self.set_property(key, value)