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/Event.hpp | |
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/Event.hpp')
-rw-r--r-- | src/server/Event.hpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/server/Event.hpp b/src/server/Event.hpp index 6820e8e2..963671ab 100644 --- a/src/server/Event.hpp +++ b/src/server/Event.hpp @@ -86,7 +86,7 @@ public: } protected: - Event(Engine& engine, Interface* client, int32_t id, FrameTime time) + Event(Engine& engine, SharedPtr<Interface> client, int32_t id, FrameTime time) : _engine(engine) , _request_client(client) , _request_id(id) @@ -97,7 +97,6 @@ protected: /** Constructor for internal events only */ explicit Event(Engine& engine) : _engine(engine) - , _request_client(NULL) , _request_id(-1) , _time(0) , _status(NOT_PREPARED) @@ -110,7 +109,7 @@ protected: Engine& _engine; Raul::AtomicPtr<Event> _next; - Interface* _request_client; + SharedPtr<Interface> _request_client; int32_t _request_id; FrameTime _time; Status _status; |