From b0324b367cfdff0a858e235f5e2cc6c674bb6e95 Mon Sep 17 00:00:00 2001 From: Eugenio Parodi Date: Sat, 29 Oct 2022 09:22:03 +0100 Subject: [PATCH] Fix bug #62 - Release resources with 'close()' --- TermTk/TTkLayouts/layout.py | 3 +++ TermTk/TTkWidgets/widget.py | 1 + 2 files changed, 4 insertions(+) diff --git a/TermTk/TTkLayouts/layout.py b/TermTk/TTkLayouts/layout.py index bd73506f..a31e9a0b 100644 --- a/TermTk/TTkLayouts/layout.py +++ b/TermTk/TTkLayouts/layout.py @@ -257,6 +257,9 @@ class TTkLayout(TTkLayoutItem): if item.layoutItemType == TTkK.WidgetItem and \ item.widget() == widget: self.removeItem(item) + return + elif item.layoutItemType == TTkK.LayoutItem: + item.removeWidget(widget) def findBranchWidget(self, widget): for item in self._items: diff --git a/TermTk/TTkWidgets/widget.py b/TermTk/TTkWidgets/widget.py index 47e9f54a..0a5ced5d 100644 --- a/TermTk/TTkWidgets/widget.py +++ b/TermTk/TTkWidgets/widget.py @@ -570,6 +570,7 @@ class TTkWidget(TMouseEvents,TKeyEvents, TDragEvents): self._parent.rootLayout().removeWidget(self) TTkHelper.removeOverlayAndChild(self) self._parent = None + self.hide() @pyTTkSlot(bool) def setVisible(self, visible):