git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2225 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.90
| @@ -23,6 +23,7 @@ Fernando Lopez-Lezcano | |||||
| 2008-05-01 Stephane Letz <letz@grame.fr> | 2008-05-01 Stephane Letz <letz@grame.fr> | ||||
| * Fix JackMachClientChannel::InternalClientLoad. | * Fix JackMachClientChannel::InternalClientLoad. | ||||
| * Correct internal client loading. | |||||
| 2008-04-30 Stephane Letz <letz@grame.fr> | 2008-04-30 Stephane Letz <letz@grame.fr> | ||||
| @@ -163,9 +163,15 @@ JackLoadableInternalClient::~JackLoadableInternalClient() | |||||
| int JackLoadableInternalClient::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status) | int JackLoadableInternalClient::Open(const char* server_name, const char* name, jack_options_t options, jack_status_t* status) | ||||
| { | { | ||||
| int res = JackInternalClient::Open(server_name, name, options, status); | |||||
| if (res == 0) | |||||
| fInitialize((jack_client_t*)this, fObjectData); | |||||
| int res = -1; | |||||
| if (JackInternalClient::Open(server_name, name, options, status) == 0) { | |||||
| if (fInitialize((jack_client_t*)this, fObjectData) == 0) { | |||||
| res = 0; | |||||
| } else { | |||||
| JackInternalClient::Close(); | |||||
| fFinish = NULL; | |||||
| } | |||||
| } | |||||
| return res; | return res; | ||||
| } | } | ||||
| @@ -153,9 +153,10 @@ int JackServer::InternalClientLoad(const char* client_name, const char* so_name, | |||||
| *status = 0; | *status = 0; | ||||
| JackLoadableInternalClient* client = new JackLoadableInternalClient(fInstance, GetSynchroTable(), so_name, objet_data); | JackLoadableInternalClient* client = new JackLoadableInternalClient(fInstance, GetSynchroTable(), so_name, objet_data); | ||||
| assert(client); | assert(client); | ||||
| int res = client->Open("unused", client_name, (jack_options_t)options, (jack_status_t*)status); | |||||
| if (res < 0) { | |||||
| if (client->Open("unused", client_name, (jack_options_t)options, (jack_status_t*)status) < 0) { | |||||
| delete client; | delete client; | ||||
| int my_status1 = *status | JackFailure; | |||||
| *status = (jack_status_t)my_status1; | |||||
| *int_ref = 0; | *int_ref = 0; | ||||
| } else { | } else { | ||||
| *int_ref = client->GetClientControl()->fRefNum; | *int_ref = client->GetClientControl()->fRefNum; | ||||
| @@ -165,7 +166,6 @@ int JackServer::InternalClientLoad(const char* client_name, const char* so_name, | |||||
| *status = (jack_status_t)my_status1; | *status = (jack_status_t)my_status1; | ||||
| *int_ref = 0; | *int_ref = 0; | ||||
| } | } | ||||
| return 0; | return 0; | ||||
| } | } | ||||