From 42969c1aec0ee87a3f4555b3c62bca4a3a7ca151 Mon Sep 17 00:00:00 2001 From: Konstantin Bolshakov Date: Fri, 16 Feb 2018 10:52:55 +0100 Subject: [PATCH] Fix GDI Leak in CheckListCtrlMixin The mixin creates and sets a wx.Imagelist which doesn't get destroyed and thus is leaking 4 GDI Objects on every run. Changing SetImageList to AssignImageList fixes this. An alternative solution would be binding the wx.EVT_WINDOW_DESTROY Event and calling the Destroy-method manually. --- wx/lib/mixins/listctrl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wx/lib/mixins/listctrl.py b/wx/lib/mixins/listctrl.py index 04f436e7..021eca8d 100644 --- a/wx/lib/mixins/listctrl.py +++ b/wx/lib/mixins/listctrl.py @@ -732,7 +732,7 @@ class CheckListCtrlMixin(object): self.uncheck_image = self.__imagelist_.Add(uncheck_image) self.check_image = self.__imagelist_.Add(check_image) - self.SetImageList(self.__imagelist_, wx.IMAGE_LIST_SMALL) + self.AssignImageList(self.__imagelist_, wx.IMAGE_LIST_SMALL) self.__last_check_ = None self.Bind(wx.EVT_LEFT_DOWN, self.__OnLeftDown_)