dx-packages team mailing list archive
-
dx-packages team
-
Mailing list archive
-
Message #20202
[Bug 1071738] Re: Indicator scroll event says direction UP on 12.10 even when scrolling down
This comment from a pygobject developer casts more insight and claims
the problem is in libappindicator:
https://bugzilla.gnome.org/show_bug.cgi?id=732470#c5
Citing:
"The issue seems to be related to libappindicator using a GI annotation for the
scroll-events direction with (type Gdk.ScrollDirection), whereas the signal is
created using G_TYPE_UINT as the GValue argument type [1]. Emitting
'scroll-event' either with dbus or Python as Christoph has shown passes a
GValue holding an integer. When pygobject receives the signal, it tries to
marshal this GValue as an enum based on the introspection information (using
g_value_get_enum) which is what causes the assertion shown above. Beyond the
assertion warning, g_value_get_enum() also returns 0 which ends up being
GTK_SCROLL_UP (very similar to bug 693664).
We could hack around this in pygobject by also accepting integer types as valid
enum values, but I believe the root of the problem lies in libappindicator
using an annotation which differs in fundamental type than what the signal
describes for its GValue marshaller (G_TYPE_ENUM vs. G_TYPE_UINT).
[1]
http://bazaar.launchpad.net/~indicator-applet-developers/libappindicator/trunk.14.10/view/head:/src/app-indicator.c#L526
"
--
You received this bug notification because you are a member of DX
Packages, which is subscribed to libappindicator in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1071738
Title:
Indicator scroll event says direction UP on 12.10 even when scrolling
down
Status in “libappindicator” package in Ubuntu:
Confirmed
Bug description:
I am using AppIndicator via Python. On Ubuntu 12.10 (stock install,
python-appindicator: Installed: 12.10.0-0ubuntu1) when I listen for
scroll event signals, the direction is always reported as UP, never as
DOWN - even when scrolling down. This was working on 12.04.
My application variety depends on this functionality, here is the
relevant bug report for it:
https://bugs.launchpad.net/variety/+bug/1071598
Here is sample code to demonstrate the problem (OK on 12.04, buggy on
12.10):
from gi.repository import Gtk, Gdk, AppIndicator3
if __name__ == "__main__":
menu = Gtk.Menu()
quit = Gtk.MenuItem("Quit")
quit.connect("activate", Gtk.main_quit)
menu.append(quit)
menu.show_all()
def scroll(ind, steps, direction):
print steps, direction
if direction != Gdk.ScrollDirection.UP:
print "Things seem ok"
indicator = AppIndicator3.Indicator.new('testscroll', '', AppIndicator3.IndicatorCategory.APPLICATION_STATUS)
indicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
indicator.set_icon("/usr/share/pixmaps/firefox.png")
indicator.connect("scroll-event", scroll)
indicator.set_menu(menu)
Gtk.main()
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libappindicator/+bug/1071738/+subscriptions