--- a/gplugin-gtk/gplugin-gtk-plugin-info.c Sun Jan 03 00:51:25 2021 -0600
+++ b/gplugin-gtk/gplugin-gtk-plugin-info.c Tue Jan 26 01:26:06 2021 -0600
@@ -311,7 +311,7 @@
GPluginGtkPluginInfo *info = GPLUGIN_GTK_PLUGIN_INFO(obj);
- if(info->signal_id != 0) {
+ if(info->signal_id != 0 && GPLUGIN_IS_PLUGIN(info->plugin)) { g_signal_handler_disconnect(G_OBJECT(info->plugin), info->signal_id);
@@ -457,7 +457,7 @@
- if(g_set_object(&info->plugin, plugin)) {
+ if(g_set_object(&info->plugin, plugin) && GPLUGIN_IS_PLUGIN(plugin)) { _gplugin_gtk_plugin_info_refresh(info);
/* Connect a signal to refresh when the plugin's state changes. We
--- a/gplugin-gtk/gplugin-gtk-store.c Sun Jan 03 00:51:25 2021 -0600
+++ b/gplugin-gtk/gplugin-gtk-store.c Tue Jan 26 01:26:06 2021 -0600
@@ -242,21 +242,24 @@
manager = gplugin_manager_get_instance();
+ g_signal_connect_object( G_CALLBACK(gplugin_gtk_store_plugin_loaded_cb),
+ g_signal_connect_object( G_CALLBACK(gplugin_gtk_store_plugin_unloaded_cb),
+ g_signal_connect_object( G_CALLBACK(gplugin_gtk_store_plugin_unload_failed_cb),