From 43c768c2d46d2fe38a09cefc5844c227539a756b Mon Sep 17 00:00:00 2001 From: prculley Date: Mon, 25 Sep 2017 10:45:22 -0500 Subject: [PATCH] Fix ManagedWindow/GrampsWindowManager for subsidiary window close fixes #10194 --- gramps/gui/managedwindow.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gramps/gui/managedwindow.py b/gramps/gui/managedwindow.py index c1a9e2380..b21a33018 100644 --- a/gramps/gui/managedwindow.py +++ b/gramps/gui/managedwindow.py @@ -196,10 +196,14 @@ class GrampsWindowManager: def close_item(self, item, *args): # Given an item, close its window and remove it's ID from the dict + if item.opened: + item.close() if item.window_id: del self.id2item[item.window_id] + item.window_id = None if item.get_window(): item.get_window().destroy() + item.window = None def remove_item(self, track): # We need the whole gymnastics below because our item @@ -560,11 +564,11 @@ class ManagedWindow: Takes care of closing children and removing itself from menu. """ - self._save_position(save_config=False) # the next line will save it + self.opened = False + self._save_position(save_config=False) # the next line will save it self._save_size() self.clean_up() self.uistate.gwm.close_track(self.track) - self.opened = False # put a previously modal window back to modal, now that we are closing if self.other_modal_window: self.other_modal_window.set_modal(True)