Browse Source

Correct internal client loading.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2225 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.90
sletz 17 years ago
parent
commit
c3d3cdd4c6
3 changed files with 13 additions and 6 deletions
  1. +1
    -0
      ChangeLog
  2. +9
    -3
      common/JackInternalClient.cpp
  3. +3
    -3
      common/JackServer.cpp

+ 1
- 0
ChangeLog View File

@@ -23,6 +23,7 @@ Fernando Lopez-Lezcano
2008-05-01 Stephane Letz <letz@grame.fr>

* Fix JackMachClientChannel::InternalClientLoad.
* Correct internal client loading.

2008-04-30 Stephane Letz <letz@grame.fr>


+ 9
- 3
common/JackInternalClient.cpp View File

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



+ 3
- 3
common/JackServer.cpp View File

@@ -153,9 +153,10 @@ int JackServer::InternalClientLoad(const char* client_name, const char* so_name,
*status = 0;
JackLoadableInternalClient* client = new JackLoadableInternalClient(fInstance, GetSynchroTable(), so_name, objet_data);
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;
int my_status1 = *status | JackFailure;
*status = (jack_status_t)my_status1;
*int_ref = 0;
} else {
*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;
*int_ref = 0;
}

return 0;
}



Loading…
Cancel
Save