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.
This commit is contained in:
Robin Gareus 2022-06-09 02:25:02 +02:00
parent c16b7b6dd5
commit 4296be2c70
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
1 changed files with 3 additions and 1 deletions

View File

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