From 231acfe1915396cb8d240b191735d28536b113c9 Mon Sep 17 00:00:00 2001 From: nick_m Date: Thu, 8 Oct 2015 01:46:52 +1100 Subject: ArdourKeyboard - fix snap / delta logic for triple modifier combinations. --- gtk2_ardour/keyboard.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gtk2_ardour/keyboard.cc') diff --git a/gtk2_ardour/keyboard.cc b/gtk2_ardour/keyboard.cc index ae477943db..1197033005 100644 --- a/gtk2_ardour/keyboard.cc +++ b/gtk2_ardour/keyboard.cc @@ -249,20 +249,20 @@ bool ArdourKeyboard::indicates_snap (guint state) { const bool contains_s = Keyboard::modifier_state_contains (state, Keyboard::snap_modifier()); + const bool equals_s = Keyboard::modifier_state_equals (state, Keyboard::snap_modifier()); const bool contains_d = Keyboard::modifier_state_contains (state, Keyboard::snap_delta_modifier()); - const bool equals_d = Keyboard::modifier_state_equals (state, Keyboard::snap_delta_modifier()); - return (contains_s && ((contains_d && !equals_d) || !contains_d)); + return (contains_s && ((contains_d && equals_s) || !contains_d)); } bool ArdourKeyboard::indicates_snap_delta (guint state) { const bool contains_d = Keyboard::modifier_state_contains (state, Keyboard::snap_delta_modifier()); + const bool equals_d = Keyboard::modifier_state_equals (state, Keyboard::snap_delta_modifier()); const bool contains_s = Keyboard::modifier_state_contains (state, Keyboard::snap_modifier()); - const bool equals_s = Keyboard::modifier_state_equals (state, Keyboard::snap_modifier()); - return (contains_d && ((contains_s && !equals_s) || !contains_s)); + return (contains_d && ((contains_s && equals_d) || !contains_s)); } void -- cgit v1.2.3