diff --git a/src/calls-ringer.c b/src/calls-ringer.c index 85aaae5..2a53865 100644 --- a/src/calls-ringer.c +++ b/src/calls-ringer.c @@ -255,7 +255,8 @@ has_incoming_call (CallsRinger *self) for (GList *node = self->calls; node != NULL; node = node->next) { CallsCall *call = node->data; - if (is_ring_state (calls_call_get_state (call))) + if (is_ring_state (calls_call_get_state (call)) && + !calls_call_get_silenced (call)) return TRUE; } return FALSE; @@ -292,6 +293,10 @@ call_added_cb (CallsRinger *self, "state-changed", G_CALLBACK (update_ring), self); + g_signal_connect_swapped (call, + "notify::silenced", + G_CALLBACK (update_ring), + self); update_ring (self); }