Revert "Change to timeout, rather than idle_add, and dereference toolbars in order they were added"

This reverts commit f91d3e94ab.
commited by mistake.
This commit is contained in:
prculley 2021-06-25 09:58:34 -05:00
parent e8f50deabc
commit 0a809904dc

View File

@ -134,8 +134,8 @@ class UIManager():
self.et_xml = ET.fromstring(initial_xml)
self.builder = None
self.toolbar = None
self.old_toolbar = [] # holds previous toolbars until Gtk is idle
self.old_toolbar_items = []
self.old_toolbar = None # holds previous toolbar until Gtk is idle
self.old_toolbar_items = None
self.action_groups = [] # current list of action groups
self.show_groups = [] # groups to show at the moment
self.accel_dict = {} # used to store accel overrides from file
@ -244,9 +244,11 @@ class UIManager():
# the following updates the toolbar from the new builder
toolbar_parent = toolbar.get_parent()
tb_show = toolbar.get_visible()
self.old_toolbar.append(toolbar)
self.old_toolbar_items.append(toolbar.get_children())
print("Saved %d toolbars" % len(self.old_toolbar))
if not self.old_toolbar:
self.old_toolbar = toolbar
self.old_toolbar_items = toolbar.get_children()
else:
print("Problem: multiple Toolbar updates before idle")
toolbar_parent.remove(toolbar)
toolbar = self.builder.get_object("ToolBar") # new toolbar
if config.get('interface.toolbar-text'):
@ -256,18 +258,16 @@ class UIManager():
toolbar.show_all()
else:
toolbar.hide()
GLib.timeout_add_seconds(10, self.delete_old_toolbar)
GLib.idle_add(self.delete_old_toolbar)
#print('*** Update ui')
def delete_old_toolbar(self):
""" This is used to finish removal of the old toolbar after Gtk has
had a (long) chance to finish its work.
To avoid an issue with the toolbar being removed before all
""" This is used to finish removal of the old toolbar after Gtk is
idle. To avoid an issue with the toolbar being removed before all
references were removed.
"""
print("Removing first of %d retained toolbars" % len(self.old_toolbar))
self.old_toolbar.pop(0)
self.old_toolbar_items.pop(0)
self.old_toolbar = None
self.old_toolbar_items = None
return False
def add_ui_from_string(self, changexml):