Gtk.Menu.get_parent() always returns Gtk.Window, even on a submenu
Calling get_parent()
on a Gtk.Menu submenu does not yield its parent Gtk.Menu but rather the object it extends from, i.e. Gtk.Window.
menu = Gtk.Menu()
menu_item = Gtk.MenuItem('blah', 'blah')
menu_item.set_submenu(create_submenu())
menu.append(menu_item)
def create_submenu():
submenu = Gtk.Menu()
submenu_item = Gtk.MenuItem('blah', 'blah')
submenu.connect('activate', do_something)
submenu.append(submenu_item)
return submenu
def do_something(widget):
widget.get_parent().set_label('this is not the parent menu') # <--- refers to Gtk.Window, not our menu above
Referenced on Stackoverflow this seems to be a bug, or at least I cannot see much use for it if it is intended behaviour.