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