mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-04 13:29:59 -05:00
dbus-protocol, dbusiface-core: Take a reference when storing the core pointer.
This commit is contained in:
parent
8966c61d33
commit
b1578e27b6
2 changed files with 5 additions and 2 deletions
|
|
@ -1923,7 +1923,7 @@ pa_dbusiface_core *pa_dbusiface_core_new(pa_core *core) {
|
||||||
pa_assert(core);
|
pa_assert(core);
|
||||||
|
|
||||||
c = pa_xnew(pa_dbusiface_core, 1);
|
c = pa_xnew(pa_dbusiface_core, 1);
|
||||||
c->core = core;
|
c->core = pa_core_ref(core);
|
||||||
c->subscription = pa_subscription_new(core, PA_SUBSCRIPTION_MASK_ALL, subscription_cb, c);
|
c->subscription = pa_subscription_new(core, PA_SUBSCRIPTION_MASK_ALL, subscription_cb, c);
|
||||||
c->dbus_protocol = pa_dbus_protocol_get(core);
|
c->dbus_protocol = pa_dbus_protocol_get(core);
|
||||||
c->cards = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);
|
c->cards = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);
|
||||||
|
|
@ -2044,6 +2044,7 @@ void pa_dbusiface_core_free(pa_dbusiface_core *c) {
|
||||||
pa_hook_slot_free(c->extension_unregistered_slot);
|
pa_hook_slot_free(c->extension_unregistered_slot);
|
||||||
|
|
||||||
pa_dbus_protocol_unref(c->dbus_protocol);
|
pa_dbus_protocol_unref(c->dbus_protocol);
|
||||||
|
pa_core_unref(c->core);
|
||||||
|
|
||||||
pa_xfree(c);
|
pa_xfree(c);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,7 +117,7 @@ static pa_dbus_protocol *dbus_protocol_new(pa_core *c) {
|
||||||
|
|
||||||
p = pa_xnew(pa_dbus_protocol, 1);
|
p = pa_xnew(pa_dbus_protocol, 1);
|
||||||
PA_REFCNT_INIT(p);
|
PA_REFCNT_INIT(p);
|
||||||
p->core = c;
|
p->core = pa_core_ref(c);
|
||||||
p->objects = pa_hashmap_new(pa_idxset_string_hash_func, pa_idxset_string_compare_func);
|
p->objects = pa_hashmap_new(pa_idxset_string_hash_func, pa_idxset_string_compare_func);
|
||||||
p->connections = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);
|
p->connections = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);
|
||||||
p->extensions = pa_idxset_new(pa_idxset_string_hash_func, pa_idxset_string_compare_func);
|
p->extensions = pa_idxset_new(pa_idxset_string_hash_func, pa_idxset_string_compare_func);
|
||||||
|
|
@ -170,6 +170,8 @@ void pa_dbus_protocol_unref(pa_dbus_protocol *p) {
|
||||||
|
|
||||||
pa_assert_se(pa_shared_remove(p->core, "dbus-protocol") >= 0);
|
pa_assert_se(pa_shared_remove(p->core, "dbus-protocol") >= 0);
|
||||||
|
|
||||||
|
pa_core_unref(p->core);
|
||||||
|
|
||||||
pa_xfree(p);
|
pa_xfree(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue