diff options
Diffstat (limited to 'polyp/namereg.c')
| -rw-r--r-- | polyp/namereg.c | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/polyp/namereg.c b/polyp/namereg.c index 72a4c648..44a9cdc6 100644 --- a/polyp/namereg.c +++ b/polyp/namereg.c @@ -35,6 +35,7 @@  #include "source.h"  #include "sink.h"  #include "xmalloc.h" +#include "subscribe.h"  struct namereg_entry {      enum pa_namereg_type type; @@ -186,6 +187,13 @@ void pa_namereg_set_default(struct pa_core*c, const char *name, enum pa_namereg_      s = type == PA_NAMEREG_SINK ? &c->default_sink_name : &c->default_source_name;      assert(s); +    if (!name && !*s) +        return; +     +    if (name && *s && !strcmp(name, *s)) +        return; +          pa_xfree(*s);      *s = pa_xstrdup(name); +    pa_subscription_post(c, PA_SUBSCRIPTION_EVENT_SERVER|PA_SUBSCRIPTION_EVENT_CHANGE, PA_INVALID_INDEX);  } | 
