From 8f102b1f0d4658fbb43fbb52ec60b81fdb17ad78 Mon Sep 17 00:00:00 2001 From: Eric Mehl Date: Thu, 4 Jan 2024 10:44:32 -0500 Subject: [PATCH] fixup! LightPositionTool : Drag to place targets --- src/GafferSceneUI/LightPositionTool.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/GafferSceneUI/LightPositionTool.cpp b/src/GafferSceneUI/LightPositionTool.cpp index 1371ef7e28c..05a2cd44495 100644 --- a/src/GafferSceneUI/LightPositionTool.cpp +++ b/src/GafferSceneUI/LightPositionTool.cpp @@ -876,12 +876,24 @@ bool LightPositionTool::buttonPress( const ButtonEvent &event ) return true; } - UndoScope undoScope( selection().back().editTarget()->ancestor() ); + UndoScope undoScope( selection().back().editTarget()->ancestor(), UndoScope::Enabled, undoMergeGroup() ); placeTarget( event.line ); return true; } +bool LightPositionTool::buttonRelease( const ButtonEvent &event ) +{ + if( event.button != ButtonEvent::Left || !activePlug()->getValue() || getTargetMode() == TargetMode::None ) + { + return false; + } + + // We're not in a drag event, but we do want to increment `TransformTool::m_mergeGroupId` + TransformTool::dragEnd(); + return true; +} + bool LightPositionTool::placeTarget( const LineSegment3f &eventLine ) { ScenePlug::ScenePath scenePath;