]> code.delx.au - pulseaudio/commitdiff
don't allow overwriting of callback pointers when we're already dead
authorLennart Poettering <lennart@poettering.net>
Thu, 1 May 2008 19:15:08 +0000 (19:15 +0000)
committerLennart Poettering <lennart@poettering.net>
Thu, 1 May 2008 19:15:08 +0000 (19:15 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2320 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulse/subscribe.c

index db25f3cf620ee8ee7f0138f2ef2ce1a191c7bfb1..0c5686b77ad15190facf287b4ddaab2c6613117a 100644 (file)
@@ -88,6 +88,9 @@ void pa_context_set_subscribe_callback(pa_context *c, pa_context_subscribe_cb_t
     pa_assert(c);
     pa_assert(PA_REFCNT_VALUE(c) >= 1);
 
+    if (c->state == PA_CONTEXT_TERMINATED || c->state == PA_CONTEXT_FAILED)
+        return;
+
     c->subscribe_callback = cb;
     c->subscribe_userdata = userdata;
 }