From 1ec21143e48f33c40cacac56920792e8fe315e0c Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 30 Jul 2008 00:01:23 +0000 Subject: Don't complain loudly when no client exists to hear responses (though promiscuity may not be a good idea for 'net usage...) git-svn-id: http://svn.drobilla.net/lad/ingen@1307 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/OSCEngineReceiver.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/libs/engine/OSCEngineReceiver.cpp') diff --git a/src/libs/engine/OSCEngineReceiver.cpp b/src/libs/engine/OSCEngineReceiver.cpp index a27a44ca..120b86b4 100644 --- a/src/libs/engine/OSCEngineReceiver.cpp +++ b/src/libs/engine/OSCEngineReceiver.cpp @@ -70,7 +70,7 @@ OSCEngineReceiver::OSCEngineReceiver(Engine& engine, size_t queue_size, uint16_t } // For debugging, print all incoming OSC messages - //lo_server_add_method(_server, NULL, NULL, generic_cb, NULL); + lo_server_add_method(_server, NULL, NULL, generic_cb, NULL); // Set response address for this message. // It's important this is first and returns nonzero. @@ -224,9 +224,13 @@ OSCEngineReceiver::set_response_address_cb(const char* path, const char* types, const SharedPtr r = me->_responder; /* Different address than last time, have to do a lookup */ - if (!r || !r->client() || strcmp(url, r->client()->uri().c_str())) - me->_responder = SharedPtr( - new Responder(me->_engine.broadcaster()->client(url), id)); + if (!r || !r->client() || strcmp(url, r->client()->uri().c_str())) { + ClientInterface* client = me->_engine.broadcaster()->client(url); + if (client) + me->_responder = SharedPtr(new Responder(client, id)); + else + me->_responder = SharedPtr(new Responder()); + } if (id != -1) { me->set_next_response_id(id); -- cgit v1.2.1