]> code.delx.au - pulseaudio/commitdiff
deal with messages properly which are recieved after destruction of a stream
authorLennart Poettering <lennart@poettering.net>
Sat, 11 Aug 2007 16:08:20 +0000 (16:08 +0000)
committerLennart Poettering <lennart@poettering.net>
Sat, 11 Aug 2007 16:08:20 +0000 (16:08 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1637 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulsecore/protocol-native.c

index a67f9b02d9c27b8e956c3aebe8da51c5f517cca5..1a112a8deb642a8ceb4d71f14bbf8e2237a8fc31 100644 (file)
@@ -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: