From 3901d05d40a5d70efb696ea62b1d21be7a8d7063 Mon Sep 17 00:00:00 2001 From: Scott Talbert Date: Thu, 11 Jul 2024 20:20:49 -0400 Subject: [PATCH] Fixup flatmenu memory fix --- wx/lib/agw/flatmenu.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/wx/lib/agw/flatmenu.py b/wx/lib/agw/flatmenu.py index 1c38fa71..90c52e36 100644 --- a/wx/lib/agw/flatmenu.py +++ b/wx/lib/agw/flatmenu.py @@ -4860,10 +4860,10 @@ class FlatMenuItem(object): self.SetMenuBar() if not hasattr(FlatMenuItem, '_checkMarkBmp'): - FlatMenuItem._checkMarkBmp = wx.Bitmap(check_mark_xpm) - FlatMenuItem._checkMarkBmp.SetMask(wx.Mask(self._checkMarkBmp, wx.WHITE)) - FlatMenuItem._radioMarkBmp = wx.Bitmap(radio_item_xpm) - FlatMenuItem._radioMarkBmp.SetMask(wx.Mask(self._radioMarkBmp, wx.WHITE)) + FlatMenuItem._checkMarkBmp = wx.Bitmap(check_mark_xpm) + FlatMenuItem._checkMarkBmp.SetMask(wx.Mask(self._checkMarkBmp, wx.WHITE)) + FlatMenuItem._radioMarkBmp = wx.Bitmap(radio_item_xpm) + FlatMenuItem._radioMarkBmp.SetMask(wx.Mask(self._radioMarkBmp, wx.WHITE)) def SetLongHelp(self, help): @@ -5356,10 +5356,12 @@ class FlatMenu(FlatMenuBase): self.Bind(wx.EVT_KILL_FOCUS, self.OnKillFocus) self.Bind(wx.EVT_TIMER, self.OnTimer) - + def Destroy(self, *args, **kwargs): - self.Clear() - super().Destroy(*args, **kwargs) + try: + self.Clear() + finally: + return super().Destroy(*args, **kwargs) def SetMenuBar(self, mb):