Merge lp:~a-j-buxton/libdbusmenu/gtk2signalfix into lp:libdbusmenu/14.04
Status: | Merged |
---|---|
Approved by: | Ted Gould |
Approved revision: | 462 |
Merged at revision: | 462 |
Proposed branch: | lp:~a-j-buxton/libdbusmenu/gtk2signalfix |
Merge into: | lp:libdbusmenu/14.04 |
Diff against target: |
35 lines (+0/-8) 1 file modified
libdbusmenu-gtk/parser.c (+0/-8) |
To merge this branch: | bzr merge lp:~a-j-buxton/libdbusmenu/gtk2signalfix |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
Ted Gould (community) | Approve | ||
Review via email: mp+193690@code.launchpad.net |
Commit message
Use "insert" signal instead of "child-added" (LP: #1203888)
In recent Gtk+2 versions, the "insert" signal has been backported from
Gtk+3. This replaces the "child-added" signal, which was carried in an
Ubuntu-specific patch and was dropped in Saucy.
Description of the change
This change removes the special case logic for "insert"
The full details are in https:/
For a test case see https:/
If libdbusmenu is broken, you will only see "One" in the appindicator menu, and the warning about "child-added". If it is working you will see "One" and "Two".
The tl;dr version:
* libdbusmenu needed to know when items were added to a GtkMenu. There was no signal for this in Gtk2, so Ubuntu invented one called "child-added" and carried it in a patch called 072_indicator_
https:/
* Gtk3 came out, and it had a signal for this purpose called "insert", so libdbusmenu was patched with a piece of logic to detect Gtk2/3 and use the appropriate signal name:
http://
* Later, the "insert" signal was backported to Gtk2:
https:/
* The Ubuntu "child-added" patch was subsequently dropped in Saucy, but libdbusmenu was not updated to use the "insert" signal with Gtk2.
Cool. Great investigation!