]> code.delx.au - pulseaudio/commitdiff
don't hit an assetr if there are operations outstanding when the pa_context is destroyed
authorLennart Poettering <lennart@poettering.net>
Sat, 29 Jul 2006 17:20:08 +0000 (17:20 +0000)
committerLennart Poettering <lennart@poettering.net>
Sat, 29 Jul 2006 17:20:08 +0000 (17:20 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1171 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulse/operation.c

index 24ddf69ffbee7c95e8f389a0e89ac2355ad842e9..8d896d7d95605fb0dbc9568c0c2a70a7a8adfeb3 100644 (file)
@@ -76,6 +76,8 @@ static void operation_set_state(pa_operation *o, pa_operation_state_t st) {
     if (st == o->state)
         return;
 
+    pa_operation_ref(o);
+
     o->state = st;
 
     if ((o->state == PA_OPERATION_DONE) || (o->state == PA_OPERATION_CANCELED)) {
@@ -92,6 +94,8 @@ static void operation_set_state(pa_operation *o, pa_operation_state_t st) {
         o->callback = NULL;
         o->userdata = NULL;
     }
+
+    pa_operation_unref(o);
 }
 
 void pa_operation_cancel(pa_operation *o) {