diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-12-17 21:19:53 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-01-12 20:27:30 +0100 |
commit | 92bb3b9d61b0e095f87105ed6c157c2b46793ffc (patch) | |
tree | 8f34938b055c1ec606553baeb7f7dc96f555cac7 /src | |
parent | 7272c026103beccec8a04bb0831effb6898733a0 (diff) |
Don't store pointer to pa_module
pa_module pointers might become invalid at any time, so we use the
stable uin32_t index of the module for identifying or modules instead.
Diffstat (limited to 'src')
-rw-r--r-- | src/modules/bluetooth/module-bluetooth-discover.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/modules/bluetooth/module-bluetooth-discover.c b/src/modules/bluetooth/module-bluetooth-discover.c index ddf944a1..2fe09370 100644 --- a/src/modules/bluetooth/module-bluetooth-discover.c +++ b/src/modules/bluetooth/module-bluetooth-discover.c @@ -44,7 +44,7 @@ PA_MODULE_USAGE(""); struct module { char *profile; - pa_module *pa_m; + uint32_t index; PA_LLIST_FIELDS(struct module); }; @@ -78,7 +78,7 @@ static struct module *module_new(const char *profile, pa_module *pa_m) { m = pa_xnew(struct module, 1); m->profile = pa_xstrdup(profile); - m->pa_m = pa_m; + m->index = pa_m->index; PA_LLIST_INIT(struct module, m); return m; @@ -364,7 +364,7 @@ static void unload_module_for_device(struct userdata *u, struct device *d, const if (!(m = module_find(d, profile))) return; - pa_module_unload_request(m->pa_m, TRUE); + pa_module_unload_request_by_index(u->module->core, m->index, TRUE); PA_LLIST_REMOVE(struct module, d->module_list, m); module_free(m); |