summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-05-01 19:15:08 +0000
committerLennart Poettering <lennart@poettering.net>2008-05-01 19:15:08 +0000
commit18ad6f845eee212f38053ee0ff0f066f20da3a97 (patch)
tree73a186752e8fc755ce116a3ad338e7ae2e079acf
parentb70edf77dad853ebed66e3c07d16bc2c2548e294 (diff)
don't allow overwriting of callback pointers when we're already dead
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2320 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rw-r--r--src/pulse/subscribe.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pulse/subscribe.c b/src/pulse/subscribe.c
index db25f3cf..0c5686b7 100644
--- a/src/pulse/subscribe.c
+++ b/src/pulse/subscribe.c
@@ -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;
}