From d57be893401c0efb7cec362b2e3f5ea81e2b1f0c Mon Sep 17 00:00:00 2001 From: Rui Matos Date: Mon, 25 Jan 2016 19:10:41 +0100 Subject: [PATCH] network: Avoid warnings while closing connection editor It doesn't make sense to try to validate pages because widgets are changing due to the whole dialog being destroyed and it causes a bunch of warnings because some resources are cleared on each page dispose method. Avoid all that by disconnecting the page "changed" signal handler before we start destroying widgets. --- panels/network/connection-editor/net-connection-editor.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/panels/network/connection-editor/net-connection-editor.c b/panels/network/connection-editor/net-connection-editor.c index 956450672..d8a20a044 100644 --- a/panels/network/connection-editor/net-connection-editor.c +++ b/panels/network/connection-editor/net-connection-editor.c @@ -50,6 +50,8 @@ static guint signals[LAST_SIGNAL] = { 0 }; G_DEFINE_TYPE (NetConnectionEditor, net_connection_editor, G_TYPE_OBJECT) +static void page_changed (CEPage *page, gpointer user_data); + static void selection_changed (GtkTreeSelection *selection, NetConnectionEditor *editor) { @@ -182,6 +184,10 @@ static void net_connection_editor_finalize (GObject *object) { NetConnectionEditor *editor = NET_CONNECTION_EDITOR (object); + GSList *l; + + for (l = editor->pages; l != NULL; l = l->next) + g_signal_handlers_disconnect_by_func (l->data, page_changed, editor); if (editor->permission_id > 0 && editor->client) g_signal_handler_disconnect (editor->client, editor->permission_id);