ArdourKeyboard - fix snap / delta logic for triple modifier combinations.

This commit is contained in:
nick_m 2015-10-08 01:46:52 +11:00
parent d295fe12e4
commit 231acfe191

View File

@ -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