diff options
author | David Robillard <d@drobilla.net> | 2012-08-20 23:11:39 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-08-20 23:11:39 +0000 |
commit | 08b62fe47b81117c17cbd7b08210b0a91d104126 (patch) | |
tree | 2d21c4f250a6c160686a9ea4fa47ac1132391905 /src/server/events/DisconnectAll.cpp | |
parent | e7e8876464377e3c222e15783c39af7e411a44a3 (diff) | |
download | ingen-08b62fe47b81117c17cbd7b08210b0a91d104126.tar.gz ingen-08b62fe47b81117c17cbd7b08210b0a91d104126.tar.bz2 ingen-08b62fe47b81117c17cbd7b08210b0a91d104126.zip |
Replace several assertions with graceful error handling.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4731 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/events/DisconnectAll.cpp')
-rw-r--r-- | src/server/events/DisconnectAll.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/events/DisconnectAll.cpp b/src/server/events/DisconnectAll.cpp index 019193e6..1548c5e1 100644 --- a/src/server/events/DisconnectAll.cpp +++ b/src/server/events/DisconnectAll.cpp @@ -107,7 +107,9 @@ DisconnectAll::pre_process() _block = dynamic_cast<BlockImpl*>(object); _port = dynamic_cast<PortImpl*>(object); - assert((_block || _port) && !(_block && _port)); + if (!_block && !_port) { + return Event::pre_process_done(INTERNAL_ERROR, _path); + } } // Find set of edges to remove @@ -120,8 +122,7 @@ DisconnectAll::pre_process() || c->head()->parent_block() == _block) { to_remove.insert(c); } - } else { - assert(_port); + } else if (_port) { if (c->tail() == _port || c->head() == _port) { to_remove.insert(c); } |