summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-10-27 20:32:33 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-10-27 20:32:56 -0400
commit632f5d523169e1d41e6aad2bb7d850efc369bbe5 (patch)
treec308446ec5b3d7d4b946e9ecd84c758b7543b8d1 /gtk2_ardour/ardour_ui.cc
parent17dc72d08e048493b7201ddaa551a93c204a9db1 (diff)
add error checking and return from attempted NSM-based initialization
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc23
1 files changed, 19 insertions, 4 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 0261266566..5dbdc32961 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -742,19 +742,33 @@ ARDOUR_UI::starting ()
for ( i = 0; i < 5000; ++i) {
nsm->check ();
usleep (i);
- if (nsm->is_active())
+ if (nsm->is_active()) {
break;
+ }
+ }
+ if (i == 5000) {
+ error << _("NSM server did not announce itself") << endmsg;
+ return -1;
}
// wait for open command from nsm server
for ( i = 0; i < 5000; ++i) {
nsm->check ();
usleep (1000);
- if (nsm->client_id ())
+ if (nsm->client_id ()) {
break;
+ }
+ }
+
+ if (i == 5000) {
+ error << _("NSM: no client ID provided") << endmsg;
+ return -1;
}
if (_session && nsm) {
_session->set_nsm_state( nsm->is_active() );
+ } else {
+ error << _("NSM: no session created") << endmsg;
+ return -1;
}
// nsm requires these actions disabled
@@ -773,10 +787,11 @@ ARDOUR_UI::starting ()
}
}
- }
- else {
+ } else {
delete nsm;
nsm = 0;
+ error << _("NSM: initialization failed") << endmsg;
+ return -1;
}
} else {