diff options
Diffstat (limited to 'src/libs/engine')
-rw-r--r-- | src/libs/engine/ObjectSender.cpp | 6 | ||||
-rw-r--r-- | src/libs/engine/events/DisconnectNodeEvent.cpp | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/libs/engine/ObjectSender.cpp b/src/libs/engine/ObjectSender.cpp index 9d3e535d..441cb2d9 100644 --- a/src/libs/engine/ObjectSender.cpp +++ b/src/libs/engine/ObjectSender.cpp @@ -90,8 +90,12 @@ ObjectSender::send_node(ClientInterface* client, const Node* node) && node->poly() == node->parent_patch()->internal_poly() ? 1 : 0); - assert(node->plugin()->uri().length() > 0); assert(node->path().length() > 0); + if (node->plugin()->uri().length() == 0) { + cerr << "Node " << node->path() << " plugin has no URI! Not sending." << endl; + return; + } + client->bundle_begin(); diff --git a/src/libs/engine/events/DisconnectNodeEvent.cpp b/src/libs/engine/events/DisconnectNodeEvent.cpp index 17367dd4..4c4e19a7 100644 --- a/src/libs/engine/events/DisconnectNodeEvent.cpp +++ b/src/libs/engine/events/DisconnectNodeEvent.cpp @@ -127,11 +127,13 @@ void DisconnectNodeEvent::post_process() { if (m_succeeded) { - m_responder->respond_ok(); + if (m_responder) + m_responder->respond_ok(); for (List<DisconnectionEvent*>::iterator i = m_disconnection_events.begin(); i != m_disconnection_events.end(); ++i) (*i)->post_process(); } else { - m_responder->respond_error("Unable to disconnect all ports."); + if (m_responder) + m_responder->respond_error("Unable to disconnect all ports."); } } |