- pa_log_debug(__FILE__": Loading module '%s' with args '%s' due to GConf configuration.", module, args);
-
- if (!(mod = pa_module_load(u->core, module, args))) {
- pa_log(__FILE__": pa_module_load() failed");
+ u = m->userdata;
+
+ if (!is_new) {
+ if (m->items[i].index != PA_INVALID_INDEX &&
+ pa_streq(m->items[i].name, name) &&
+ pa_streq(m->items[i].args, args))
+ return;
+
+ unload_one_module(m, i);
+ }
+
+ pa_log_debug("Loading module '%s' with args '%s' due to GConf configuration.", name, args);
+
+ m->items[i].name = pa_xstrdup(name);
+ m->items[i].args = pa_xstrdup(args);
+ m->items[i].index = PA_INVALID_INDEX;
+
+ if (!(mod = pa_module_load(u->core, name, args))) {
+ pa_log("pa_module_load() failed");