Merge lp:~ted/libdbusmenu/lp934574 into lp:libdbusmenu/0.6
Proposed by
Ted Gould
Status: | Merged |
---|---|
Merged at revision: | 380 |
Proposed branch: | lp:~ted/libdbusmenu/lp934574 |
Merge into: | lp:libdbusmenu/0.6 |
Diff against target: |
150 lines (+49/-19) 2 files modified
libdbusmenu-glib/menuitem.c (+1/-1) libdbusmenu-gtk/parser.c (+48/-18) |
To merge this branch: | bzr merge lp:~ted/libdbusmenu/lp934574 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Charles Kerr (community) | Needs Fixing | ||
DBus Menu Team | Pending | ||
Review via email: mp+95673@code.launchpad.net |
Description of the change
Fixes a rather nasty little bug where icons don't update. There's actually a couple of factors. One, is that we don't resetup the signals when we get a new image. The second is that we'll send a clear even if the value was never set.
To post a comment you must log in.
menuitem.c:
> 9+ if ((!inhash || replaced) &&
> 10+ !(!inhash && value == NULL)) {
This is the only item that needs fixing... this really hurts.
After staring at the code block above this for a bit,
I /think/ this can be changed to:
> 9+ if (replaced)
parser.c:
Looks fine. I have two trivial suggestions, feel free to ignore:
Since the patch does the same thing three times, it might be icon_from_ item() wrapper function that
cleaner to have a n update_
extracts the ParserData from the Menuitem and calls update_icon().
gpointer is a void*, so an explicit cast is never required. get_data( )" will always work -- )g_object_ get_data( )" is unnecessary.
"ParserData * pdata = g_object_
"ParserData * pdata = (ParserData*