Rework parent_set_emission_hook so that it returns immediately if neither the old nor the new parent have registered cocoa menus. It turns out that GtkComboBox uses a GtkMenu to keep its list, and trying to sync that menu was a common (and expensive) occurence.
Rework parent_set_emission_hook so that it returns immediately if neither the old nor the new parent have registered cocoa menus. It turns out that GtkComboBox uses a GtkMenu to keep its list, and trying to sync that menu was a common (and expensive) occurence.

Further reworked to just delete the menu item from the old NSMenu if there was one, and to re-synch the new parent menu if it's has a registered cocoa menu. (If it doesn't, then it hasn't been added yet and it will get synched when it is.)
jralls/gtk-mac-integration,GNOME/gtk-mac-integration,sharoonthomas/gtk-mac-integration,sharoonthomas/gtk-mac-integration,jralls/gtk-mac-integration,GNOME/gtk-mac-integration,jralls/gtk-mac-integration,sharoonthomas/gtk-mac-integration,GNOME/gtk-mac-integration,sharoonthomas/gtk-mac-integration,sharoonthomas/gtk-mac-integration