summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-08-11 16:08:20 +0000
committerLennart Poettering <lennart@poettering.net>2007-08-11 16:08:20 +0000
commit447c4a53276516f1ac71a4684ca5a6277a442c79 (patch)
tree88dbb602b3a80dbb49a6cb6c7c831786c5be10ff
parent107b23d202ca62eb5d510438799702bdfe1ef54e (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.c9
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: