Allow single click to create Region-Gain points (again)

regression was introduced in 18819a48a9
This commit is contained in:
Robin Gareus 2023-10-07 18:17:36 +02:00
parent b962addc8c
commit f78d82a192
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -1881,23 +1881,18 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
switch (item_type) {
case RegionItem:
{
/* check that we didn't drag before releasing, since
its really annoying to create new control
points when doing this.
*/
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (clicked_regionview);
printf ("RegionItem\n");
/* since we have FreehandLineDrag we can only get here after a drag, when no movement has happend */
assert (were_dragging);
if (!were_dragging) {
if (arv) {
bool with_guard_points = Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier);
arv->add_gain_point_event (item, event, with_guard_points);
}
} else {
AutomationRegionView* atv = dynamic_cast<AutomationRegionView*> (clicked_regionview);
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (clicked_regionview);
AutomationRegionView* atv = dynamic_cast<AutomationRegionView*> (clicked_regionview);
if (atv) {
atv->add_automation_event (event);
}
if (arv) {
bool with_guard_points = Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier);
arv->add_gain_point_event (item, event, with_guard_points);
} else if (atv) {
atv->add_automation_event (event);
}
return true;