libpurple/plugin.c

changeset 18889
2eda48021b49
parent 16006
b06d526466f9
child 19859
71d37b57eff2
equal deleted inserted replaced
18888:685b93b5fdf0 18889:2eda48021b49
690 const char *dep_name = (const char *)l->data; 690 const char *dep_name = (const char *)l->data;
691 PurplePlugin *dependency; 691 PurplePlugin *dependency;
692 692
693 dependency = purple_plugins_find_with_id(dep_name); 693 dependency = purple_plugins_find_with_id(dep_name);
694 694
695 dependency->dependent_plugins = g_list_remove(dependency->dependent_plugins, plugin->info->id); 695 if (dependency != NULL)
696 dependency->dependent_plugins = g_list_remove(dependency->dependent_plugins, plugin->info->id);
697 else
698 purple_debug_error("plugins", "Unable to remove from dependency list for %s\n", dep_name);
696 } 699 }
697 700
698 if (plugin->native_plugin) { 701 if (plugin->native_plugin) {
699 if (plugin->info->unload != NULL) 702 if (plugin->info->unload != NULL)
700 plugin->info->unload(plugin); 703 plugin->info->unload(plugin);

mercurial