From 4296be2c70bfc6ca83a35756cc3055df52b9792d Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 9 Jun 2022 02:25:02 +0200 Subject: [PATCH] Ignore double-middle-click when restoring scenes Previously rapid middle-clicks could result in creating a temporary mixer_scene while one is already in use. --- gtk2_ardour/mixer_ui.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index c78f643c1d..a64be59b2d 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -447,6 +447,7 @@ Mixer_UI::~Mixer_UI () delete _plugin_selector; delete track_menu; delete _group_tabs; + delete _mixer_scene_release; } struct MixerStripSorter { @@ -4097,7 +4098,7 @@ Mixer_UI::popup_scene_menu (GdkEventButton* ev, int scn_idx) bool Mixer_UI::scene_button_press (GdkEventButton* ev, int idx) { - if (!_session) { + if (!_session || ev->type == GDK_2BUTTON_PRESS || ev->type == GDK_3BUTTON_PRESS) { return false; } @@ -4107,6 +4108,7 @@ Mixer_UI::scene_button_press (GdkEventButton* ev, int idx) clear_mixer_scene (idx, true); } else if (Keyboard::is_button2_event (ev)) { /* momentary */ + delete _mixer_scene_release; // .. or keep existing? _mixer_scene_release = new MixerScene (*_session); _mixer_scene_release->snapshot (); // TODO; prevent changed signal recall_mixer_scene (idx, false);