summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pulse/operation.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pulse/operation.c b/src/pulse/operation.c
index 61adf69b0..3f396f008 100644
--- a/src/pulse/operation.c
+++ b/src/pulse/operation.c
@@ -102,6 +102,9 @@ static void operation_set_state(pa_operation *o, pa_operation_state_t st) {
if (st == o->state)
return;
+ if ((o->state == PA_OPERATION_DONE) || (o->state == PA_OPERATION_CANCELED))
+ return;
+
pa_operation_ref(o);
o->state = st;