From 4e94422256498c23a4ce3b687eb82809c4ef515e Mon Sep 17 00:00:00 2001 From: slook <88614182+slook@users.noreply.github.com> Date: Sun, 26 Oct 2025 08:37:09 +0000 Subject: [PATCH] fix(colorpicker): IndexError on drag hue index out of range (#489) --- .../TermTk/TTkWidgets/TTkPickers/colorpicker.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libs/pyTermTk/TermTk/TTkWidgets/TTkPickers/colorpicker.py b/libs/pyTermTk/TermTk/TTkWidgets/TTkPickers/colorpicker.py index e8e481ac..0099f228 100644 --- a/libs/pyTermTk/TermTk/TTkWidgets/TTkPickers/colorpicker.py +++ b/libs/pyTermTk/TermTk/TTkWidgets/TTkPickers/colorpicker.py @@ -56,15 +56,15 @@ class _TTkHueCanvas(TTkWidget): self._selected = -1 self.setFocusPolicy(TTkK.ClickFocus) - def resizeEvent(self, width: int, height: int) -> None: self._selected = -1 def mousePressEvent(self, evt:TTkMouseEvent) -> bool: - self._selected = evt.x - if evt.x < len(self._hueList): - self.colorPicked.emit(self._hueList[evt.x]) - self.update() + x_pos = max(0, min(evt.x, self.width()-1)) + if x_pos != self._selected: + self._selected = x_pos + self.colorPicked.emit(self._hueList[x_pos]) + self.update() return True def mouseDragEvent(self, evt:TTkMouseEvent) -> bool: