From 017957b7ae92bd37bf34f0a8a711758756d7ce6b Mon Sep 17 00:00:00 2001 From: xenakios Date: Thu, 22 Feb 2018 14:56:18 +0200 Subject: [PATCH] Limit shift dragged time selection properly --- Source/PluginEditor.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Source/PluginEditor.cpp b/Source/PluginEditor.cpp index c85217f..eaa1c31 100644 --- a/Source/PluginEditor.cpp +++ b/Source/PluginEditor.cpp @@ -612,14 +612,15 @@ void WaveformComponent::mouseDrag(const MouseEvent & e) m_time_sel_start = m_drag_time_start; m_time_sel_end = viewXToNormalized(e.x); } + double curlen = m_time_sel_end - m_time_sel_start; if (m_time_sel_drag_target == 0 && e.mods.isShiftDown()) { double diff = m_drag_time_start - viewXToNormalized(e.x); - m_time_sel_start -= diff; - m_time_sel_end -= diff; + m_time_sel_start = jlimit(0.0, 1.0-curlen, m_time_sel_start - diff); + m_time_sel_end = jlimit(curlen, 1.0, m_time_sel_end - diff); m_drag_time_start -= diff; } - double curlen = m_time_sel_end-m_time_sel_start; + curlen = m_time_sel_end - m_time_sel_start; if (m_time_sel_drag_target == 1) {