diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2019-10-10 21:47:17 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2019-10-10 21:47:17 -0600 |
commit | 89cab5802ac19159e12c1da9eb40cf0f592ad2b9 (patch) | |
tree | cd91f79815e3540c64388070c54649eb802cc1c7 /gtk2_ardour/startup_fsm.cc | |
parent | aa2ea11a47f32f7d592a9fd0856dd9b8990e34f2 (diff) |
goto preferred over reentrancy
Diffstat (limited to 'gtk2_ardour/startup_fsm.cc')
-rw-r--r-- | gtk2_ardour/startup_fsm.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gtk2_ardour/startup_fsm.cc b/gtk2_ardour/startup_fsm.cc index 18c622602b..390f0672bb 100644 --- a/gtk2_ardour/startup_fsm.cc +++ b/gtk2_ardour/startup_fsm.cc @@ -128,6 +128,8 @@ StartupFSM::dialog_response_handler (int response, StartupFSM::DialogID dialog_i { const bool new_session_required = (ARDOUR_COMMAND_LINE::new_session || (!ARDOUR::Profile->get_mixbus() && new_user)); + restart: + switch (_state) { case NeedPreRelease: switch (dialog_id) { @@ -142,7 +144,12 @@ StartupFSM::dialog_response_handler (int response, StartupFSM::DialogID dialog_i if (NewUserWizard::required()) { show_new_user_wizard (); } else { - dialog_response_handler (RESPONSE_OK, NewUserDialog); + /* act as if we had just finished with the new + user wizard. goto preferred over reentrancy. + */ + dialog_id = NewUserDialog; + response = RESPONSE_OK; + goto restart; } break; } |