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

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