From dfb6b92974945b428df99e2371974a48bc593407 Mon Sep 17 00:00:00 2001 From: Eric Mehl Date: Wed, 24 Jul 2024 12:21:03 -0400 Subject: [PATCH] Slider : Fix extra entries in undo queue on drag --- Changes.md | 1 + python/GafferUI/Slider.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Changes.md b/Changes.md index b18f9629716..93b32b85a32 100644 --- a/Changes.md +++ b/Changes.md @@ -6,6 +6,7 @@ Fixes - ImageReader : Fixed crash caused by invalid OpenEXR `multiView` attributes. - LightEditor, RenderPassEditor : Added missing icon representing use of the `CreateIfMissing` tweak mode in the history window. +- Slider : Fixed bug where two undo steps were needed to get back to the original value when dragging. 1.3.16.6 (relative to 1.3.16.5) ======== diff --git a/python/GafferUI/Slider.py b/python/GafferUI/Slider.py index 3bb51d8e10b..e5708ecb1d3 100644 --- a/python/GafferUI/Slider.py +++ b/python/GafferUI/Slider.py @@ -429,6 +429,11 @@ def __buttonPress( self, widget, event ) : def __dragBegin( self, widget, event ) : if event.buttons == GafferUI.ButtonEvent.Buttons.Left and self.getSelectedIndex() is not None : + self.__setValueInternal( + self.getSelectedIndex(), + self.__eventValue( event ), + self.ValueChangedReason.DragBegin + ) return IECore.NullObject.defaultNullObject() return None @@ -450,7 +455,11 @@ def __dragMove( self, widget, event ) : def __dragEnd( self, widget, event ) : - self.__dragMove( widget, event ) + self.__setValueInternal( + self.getSelectedIndex(), + self.__eventValue( event ), + self.ValueChangedReason.DragEnd + ) def __keyPress( self, widget, event ) :