setting an image multiple times on a gtk.ImageMenuItem fails in python-appindicator
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
DBus Menu |
Fix Released
|
Medium
|
Ted Gould |
Bug Description
I'm using python-appindicator and pygtk2.
I'm writing an application where I occaisonally want to update the images in a
gtk.ImageMenuItem. The images represent the current state of a job, and my code
polls the running jobs, and updates the menu entry images accordingly.
I've noticed that if you set the same image twice consecutively, the
ImageMenuItem will not display any image at all. I.e.- if you have two images:
"img_A" and "img_B", doing this:
menu_item.
...
menu_item.
...
menu_item.
...
menu_item.
... will do what you expect. However, if you do this:
menu_item.
...
menu_item.
The image will dissapear when the second set_image call is made.
Attached is a python script that demonstrates the problem. There are two versions:
gtk-menu-
in the panel / status bar with a menu attached. Initially the first menu entry
will have a "red ball" image next to it. 5 seconds later this image is updated
to a "green ball" image. 5 seconds after that we try and update the image to
the "green ball" image again, and the image dissapears from the menu.
gtk-menu-bug.py does the same thing, but without the appindicator (it draws a gtk popup menu instead). This version does not suffer from the same issue.
Related branches
- Charles Kerr (community): Needs Fixing
-
Diff: 150 lines (+49/-19)2 files modifiedlibdbusmenu-glib/menuitem.c (+1/-1)
libdbusmenu-gtk/parser.c (+48/-18)
- Ken VanDine: Pending requested
-
Diff: 11864 lines (+11365/-22)62 files modifiedChangeLog (+32/-0)
configure (+11/-11)
configure.ac (+3/-3)
debian/changelog (+10/-0)
docs/libdbusmenu-glib/reference/html/annotation-glossary.html (+83/-0)
docs/libdbusmenu-glib/reference/html/api-index-deprecated.html (+31/-0)
docs/libdbusmenu-glib/reference/html/api-index-full.html (+593/-0)
docs/libdbusmenu-glib/reference/html/ch01.html (+50/-0)
docs/libdbusmenu-glib/reference/html/index.html (+49/-0)
docs/libdbusmenu-glib/reference/html/index.sgml (+176/-0)
docs/libdbusmenu-glib/reference/html/libdbusmenu-glib-DbusmenuClient.html (+607/-0)
docs/libdbusmenu-glib/reference/html/libdbusmenu-glib-DbusmenuMenuitem.html (+1893/-0)
docs/libdbusmenu-glib/reference/html/libdbusmenu-glib-DbusmenuMenuitemProxy.html (+166/-0)
docs/libdbusmenu-glib/reference/html/libdbusmenu-glib-DbusmenuServer.html (+412/-0)
docs/libdbusmenu-glib/reference/html/libdbusmenu-glib-Types.html (+276/-0)
docs/libdbusmenu-glib/reference/html/libdbusmenu-glib.devhelp2 (+161/-0)
docs/libdbusmenu-glib/reference/html/object-tree.html (+32/-0)
docs/libdbusmenu-glib/reference/html/style.css (+266/-0)
docs/libdbusmenu-glib/reference/tmpl/client.sgml (+228/-0)
docs/libdbusmenu-glib/reference/tmpl/menuitem-proxy.sgml (+59/-0)
docs/libdbusmenu-glib/reference/tmpl/menuitem.sgml (+721/-0)
docs/libdbusmenu-glib/reference/tmpl/server.sgml (+171/-0)
docs/libdbusmenu-glib/reference/tmpl/types.sgml (+109/-0)
docs/libdbusmenu-glib/reference/version.xml (+1/-1)
docs/libdbusmenu-glib/reference/xml/annotation-glossary.xml (+80/-0)
docs/libdbusmenu-glib/reference/xml/api-index-deprecated.xml (+8/-0)
docs/libdbusmenu-glib/reference/xml/api-index-full.xml (+153/-0)
docs/libdbusmenu-glib/reference/xml/client.xml (+448/-0)
docs/libdbusmenu-glib/reference/xml/menuitem-proxy.xml (+114/-0)
docs/libdbusmenu-glib/reference/xml/menuitem.xml (+1331/-0)
docs/libdbusmenu-glib/reference/xml/server.xml (+309/-0)
docs/libdbusmenu-glib/reference/xml/types.xml (+192/-0)
docs/libdbusmenu-gtk/reference/html/annotation-glossary.html (+47/-0)
docs/libdbusmenu-gtk/reference/html/api-index-deprecated.html (+31/-0)
docs/libdbusmenu-gtk/reference/html/api-index-full.html (+119/-0)
docs/libdbusmenu-gtk/reference/html/ch01.html (+45/-0)
docs/libdbusmenu-gtk/reference/html/index.html (+44/-0)
docs/libdbusmenu-gtk/reference/html/index.sgml (+43/-0)
docs/libdbusmenu-gtk/reference/html/libdbusmenu-gtk-DbusmenuGtkClient.html (+347/-0)
docs/libdbusmenu-gtk/reference/html/libdbusmenu-gtk-DbusmenuGtkMenu.html (+187/-0)
docs/libdbusmenu-gtk/reference/html/libdbusmenu-gtk-menuitem.html (+274/-0)
docs/libdbusmenu-gtk/reference/html/libdbusmenu-gtk-parser.html (+118/-0)
docs/libdbusmenu-gtk/reference/html/libdbusmenu-gtk.devhelp2 (+38/-0)
docs/libdbusmenu-gtk/reference/html/object-tree.html (+32/-0)
docs/libdbusmenu-gtk/reference/html/style.css (+266/-0)
docs/libdbusmenu-gtk/reference/tmpl/client.sgml (+110/-0)
docs/libdbusmenu-gtk/reference/tmpl/menu.sgml (+56/-0)
docs/libdbusmenu-gtk/reference/tmpl/menuitem.sgml (+86/-0)
docs/libdbusmenu-gtk/reference/tmpl/parser.sgml (+42/-0)
docs/libdbusmenu-gtk/reference/version.xml (+1/-1)
docs/libdbusmenu-gtk/reference/xml/annotation-glossary.xml (+32/-0)
docs/libdbusmenu-gtk/reference/xml/api-index-deprecated.xml (+8/-0)
docs/libdbusmenu-gtk/reference/xml/api-index-full.xml (+32/-0)
docs/libdbusmenu-gtk/reference/xml/client.xml (+238/-0)
docs/libdbusmenu-gtk/reference/xml/menu.xml (+133/-0)
docs/libdbusmenu-gtk/reference/xml/menuitem.xml (+178/-0)
docs/libdbusmenu-gtk/reference/xml/parser.xml (+77/-0)
libdbusmenu-glib/enum-types.h (+1/-1)
libdbusmenu-glib/enum-types.h.in (+1/-1)
libdbusmenu-gtk/genericmenuitem-enum-types.h (+1/-1)
libdbusmenu-gtk/genericmenuitem-enum-types.h.in (+1/-1)
libdbusmenu-gtk/genericmenuitem.c (+2/-2)
affects: | libappindicator → dbusmenu |
Changed in dbusmenu: | |
assignee: | nobody → Ted Gould (ted) |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in dbusmenu: | |
status: | In Progress → Fix Released |
milestone: | none → 0.5.93 |