diff options
author | David Robillard <d@drobilla.net> | 2012-06-29 23:06:19 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-06-29 23:06:19 +0000 |
commit | 8f7f419adcfcd6cd7557b82266b064ed242793ad (patch) | |
tree | e0004f6eec4958260df53c711ac2c92d85e8f4cc /src/server/Engine.cpp | |
parent | 6eb584d3b0bc67fc8de36baba5e296d816ba080f (diff) | |
download | ingen-8f7f419adcfcd6cd7557b82266b064ed242793ad.tar.gz ingen-8f7f419adcfcd6cd7557b82266b064ed242793ad.tar.bz2 ingen-8f7f419adcfcd6cd7557b82266b064ed242793ad.zip |
Fix crashes caused by events attempting to respond to deleted clients (fix #842).
This one mainly manifested when using ingenish from the command line since the client is so short lived.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4503 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/Engine.cpp')
-rw-r--r-- | src/server/Engine.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/Engine.cpp b/src/server/Engine.cpp index c5a7bddd..85ca530c 100644 --- a/src/server/Engine.cpp +++ b/src/server/Engine.cpp @@ -218,8 +218,9 @@ Engine::activate() make_pair(uris.ingen_canvasY, Resource::Property(forge.make(32.0f), Resource::EXTERNAL))); + SharedPtr<Interface> respondee; execute_and_delete_event( - context, new Events::CreatePort(*this, NULL, -1, 0, + context, new Events::CreatePort(*this, respondee, -1, 0, "/control_in", false, in_properties)); // Add control out @@ -236,7 +237,7 @@ Engine::activate() Resource::Property(forge.make(32.0f), Resource::EXTERNAL))); execute_and_delete_event( - context, new Events::CreatePort(*this, NULL, -1, 0, + context, new Events::CreatePort(*this, respondee, -1, 0, "/control_out", true, out_properties)); } |