diff --git a/gio/gnetworkmonitornetlink.c b/gio/gnetworkmonitornetlink.c index f889a3b64..3841e69e1 100644 --- a/gio/gnetworkmonitornetlink.c +++ b/gio/gnetworkmonitornetlink.c @@ -435,12 +435,6 @@ g_network_monitor_netlink_finalize (GObject *object) { GNetworkMonitorNetlink *nl = G_NETWORK_MONITOR_NETLINK (object); - if (nl->priv->sock) - { - g_socket_close (nl->priv->sock, NULL); - g_object_unref (nl->priv->sock); - } - if (nl->priv->source) { g_source_destroy (nl->priv->source); @@ -453,6 +447,12 @@ g_network_monitor_netlink_finalize (GObject *object) g_source_unref (nl->priv->dump_source); } + if (nl->priv->sock) + { + g_socket_close (nl->priv->sock, NULL); + g_object_unref (nl->priv->sock); + } + g_clear_pointer (&nl->priv->context, g_main_context_unref); g_clear_pointer (&nl->priv->dump_networks, g_ptr_array_unref);