From 2f34c2e0c9d8624d2e59bc89bdeb4dfc0c734fb6 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Tue, 16 Jun 2020 20:13:46 -0700 Subject: [PATCH] Ensure the widget has the capture before releasing it --- wx/lib/colourchooser/pycolourchooser.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/wx/lib/colourchooser/pycolourchooser.py b/wx/lib/colourchooser/pycolourchooser.py index bd082412..24a1a8a4 100644 --- a/wx/lib/colourchooser/pycolourchooser.py +++ b/wx/lib/colourchooser/pycolourchooser.py @@ -453,7 +453,8 @@ class PyColourChooser(wx.Panel): self.colour_slider.CaptureMouse() def onSliderUp(self, event): - self.colour_slider.ReleaseMouse() + if self.colour_slider.HasCapture(): + self.colour_slider.ReleaseMouse() def onSliderMotion(self, event): """Handle mouse-down drag on the colour slider palette""" @@ -471,7 +472,8 @@ class PyColourChooser(wx.Panel): def onPaletteUp(self, event): """Stores state that the mouse is no longer depressed.""" - self.palette.ReleaseMouse() # Must call once for each CaputreMouse() + if self.palette.HasCapture(): + self.palette.ReleaseMouse() # Must call once for each CaputreMouse() def onPaletteMotion(self, event): """Updates the colour values during mouse motion while the