summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-04-28 23:20:11 +0200
committerThomas Haller <thaller@redhat.com>2016-04-28 23:20:11 +0200
commita35d46624709df5690ff70f40ca8546d56b6e460 (patch)
tree5000bb9a0981edbfffab0dc46df34147f2693cd3
parent13fcffab42a8595cd9410d145e367b7eba956f1c (diff)
downloadnetwork-manager-applet-a35d46624709df5690ff70f40ca8546d56b6e460.tar.gz
c-e: unregister signal handler from VPN plugin
-rw-r--r--src/connection-editor/page-vpn.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/connection-editor/page-vpn.c b/src/connection-editor/page-vpn.c
index d07f491f..76b2f3bc 100644
--- a/src/connection-editor/page-vpn.c
+++ b/src/connection-editor/page-vpn.c
@@ -132,7 +132,7 @@ ce_page_vpn_can_export (CEPageVpn *page)
{
CEPageVpnPrivate *priv = CE_PAGE_VPN_GET_PRIVATE (page);
- return (nm_vpn_editor_plugin_get_capabilities (priv->plugin) & NM_VPN_EDITOR_PLUGIN_CAPABILITY_EXPORT) != 0;
+ return (nm_vpn_editor_plugin_get_capabilities (priv->plugin) & NM_VPN_EDITOR_PLUGIN_CAPABILITY_EXPORT) != 0;
}
static gboolean
@@ -154,7 +154,10 @@ dispose (GObject *object)
{
CEPageVpnPrivate *priv = CE_PAGE_VPN_GET_PRIVATE (object);
- g_clear_object (&priv->editor);
+ if (priv->editor) {
+ g_signal_handlers_disconnect_by_func (priv->editor, G_CALLBACK (vpn_plugin_changed_cb), object);
+ g_clear_object (&priv->editor);
+ }
g_clear_pointer (&priv->service_type, g_free);
G_OBJECT_CLASS (ce_page_vpn_parent_class)->dispose (object);