diff options
author | Lennart Poettering <lennart@poettering.net> | 2007-08-11 16:08:20 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2007-08-11 16:08:20 +0000 |
commit | 447c4a53276516f1ac71a4684ca5a6277a442c79 (patch) | |
tree | 88dbb602b3a80dbb49a6cb6c7c831786c5be10ff | |
parent | 107b23d202ca62eb5d510438799702bdfe1ef54e (diff) |
deal with messages properly which are recieved after destruction of a stream
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1637 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rw-r--r-- | src/pulsecore/protocol-native.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c index a67f9b02..1a112a8d 100644 --- a/src/pulsecore/protocol-native.c +++ b/src/pulsecore/protocol-native.c @@ -407,6 +407,9 @@ static int record_stream_process_msg(pa_msgobject *o, int code, void*userdata, i record_stream *s = RECORD_STREAM(o); record_stream_assert_ref(s); + if (!s->connection) + return -1; + switch (code) { case RECORD_STREAM_MESSAGE_POST_DATA: @@ -524,6 +527,9 @@ static int playback_stream_process_msg(pa_msgobject *o, int code, void*userdata, playback_stream *s = PLAYBACK_STREAM(o); playback_stream_assert_ref(s); + if (!s->connection) + return -1; + switch (code) { case PLAYBACK_STREAM_MESSAGE_REQUEST_DATA: { pa_tagstruct *t; @@ -689,6 +695,9 @@ static int connection_process_msg(pa_msgobject *o, int code, void*userdata, int6 connection *c = CONNECTION(o); connection_assert_ref(c); + if (!c->protocol) + return -1; + switch (code) { case CONNECTION_MESSAGE_REVOKE: |