gplugin/gplugin

use g_set_object to avoid a bunch of confusion
feature/gplugin-gtk-view-cleanups
2019-11-07, Gary Kramlich
b640f9a13a27
Parents 193af070e88d
Children c07f7470e05e
use g_set_object to avoid a bunch of confusion
--- a/gplugin-gtk/gplugin-gtk-plugin-info.c Thu Nov 07 22:07:30 2019 -0600
+++ b/gplugin-gtk/gplugin-gtk-plugin-info.c Thu Nov 07 22:37:25 2019 -0600
@@ -314,25 +314,11 @@
gplugin_gtk_plugin_info_set_plugin(GPluginGtkPluginInfo *info,
GPluginPlugin *plugin)
{
- GPluginPlugin *orig_plugin;
-
g_return_if_fail(GPLUGIN_GTK_IS_PLUGIN_INFO(info));
- orig_plugin = info->plugin;
- if(GPLUGIN_IS_PLUGIN(plugin)) {
- info->plugin = GPLUGIN_PLUGIN(g_object_ref(G_OBJECT(plugin)));
- } else {
- info->plugin = NULL;
+ if(g_set_object(&info->plugin, plugin)) {
+ _gplugin_gtk_plugin_info_refresh(info, plugin);
}
-
- /* now free the original plugin. This is done after the swap in the event
- * that someone called us again with the same plugin.
- */
- if(GPLUGIN_IS_PLUGIN(orig_plugin)) {
- g_object_unref(G_OBJECT(orig_plugin));
- }
-
- _gplugin_gtk_plugin_info_refresh(info, plugin);
}
/**