--- a/libpurple/plugins.c Sun Aug 11 19:35:41 2013 +0530 +++ b/libpurple/plugins.c Sun Aug 11 20:13:05 2013 +0530 @@ -77,22 +77,21 @@ { #ifdef PURPLE_PLUGINS GError *err = NULL; + PurplePluginInfoPrivate *priv; g_return_val_if_fail(plugin != NULL, FALSE); if (purple_plugin_is_loaded(plugin)) return TRUE; - if (!purple_plugin_is_loadable(plugin)) { - purple_debug_error("plugins", "Failed to load plugin %s: %s", - purple_plugin_get_filename(plugin), - purple_plugin_get_error(plugin)); + priv = PURPLE_PLUGIN_INFO_GET_PRIVATE(purple_plugin_get_info(plugin)); - if (error) { - *error = g_error_new(PURPLE_PLUGINS_DOMAIN, 0, - "Plugin is not loadable: %s", - purple_plugin_get_error(plugin)); - } + if (!priv->loadable) { + purple_debug_error("plugins", "Failed to load plugin %s: %s", + purple_plugin_get_filename(plugin), priv->error); + + g_set_error(error, PURPLE_PLUGINS_DOMAIN, 0, + "Plugin is not loadable: %s", priv->error); return FALSE; } @@ -118,7 +117,8 @@ return TRUE; #else - return TRUE; + g_set_error(error, PURPLE_PLUGINS_DOMAIN, 0, "Plugin support is disabled."); + return FALSE; #endif /* PURPLE_PLUGINS */ } @@ -170,7 +170,8 @@ return TRUE; #else - return TRUE; + g_set_error(error, PURPLE_PLUGINS_DOMAIN, 0, "Plugin support is disabled."); + return FALSE; #endif /* PURPLE_PLUGINS */ } @@ -275,41 +276,6 @@ #endif } -gboolean -purple_plugin_is_loadable(const PurplePlugin *plugin) -{ - PurplePluginInfoPrivate *priv; - - g_return_val_if_fail(plugin != NULL, FALSE); - - priv = PURPLE_PLUGIN_INFO_GET_PRIVATE(purple_plugin_get_info(plugin)); - - if (priv) - return priv->loadable; - else - return FALSE; -} - -const gchar * -purple_plugin_get_error(const PurplePlugin *plugin) -{ -#ifdef PURPLE_PLUGINS - PurplePluginInfoPrivate *priv; - - g_return_val_if_fail(plugin != NULL, NULL); - - priv = PURPLE_PLUGIN_INFO_GET_PRIVATE(purple_plugin_get_info(plugin)); - - if (priv) - return priv->error; - else - return _("This plugin does not return a PurplePluginInfo."); - -#else - return _("Plugin support is disabled."); -#endif -} - GSList * purple_plugin_get_dependent_plugins(const PurplePlugin *plugin) { @@ -976,7 +942,7 @@ } void -purple_plugins_uninit(void) +purple_plugins_uninit(void) { void *handle = purple_plugins_get_handle();