diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index be86706512..c27e34c786 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -2576,11 +2576,6 @@ dhcp4_cleanup (NMDevice *self, gboolean stop, gboolean release) { NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self); - if (priv->dhcp4_config) { - g_clear_object (&priv->dhcp4_config); - g_object_notify (G_OBJECT (self), NM_DEVICE_DHCP4_CONFIG); - } - if (priv->dhcp4_client) { /* Stop any ongoing DHCP transaction on this device */ if (priv->dhcp4_state_sigid) { @@ -2600,6 +2595,11 @@ dhcp4_cleanup (NMDevice *self, gboolean stop, gboolean release) g_clear_object (&priv->dhcp4_client); } + + if (priv->dhcp4_config) { + g_clear_object (&priv->dhcp4_config); + g_object_notify (G_OBJECT (self), NM_DEVICE_DHCP4_CONFIG); + } } static void @@ -3023,11 +3023,6 @@ dhcp6_cleanup (NMDevice *self, gboolean stop, gboolean release) priv->dhcp6_mode = NM_RDISC_DHCP_LEVEL_NONE; g_clear_object (&priv->dhcp6_ip6_config); - if (priv->dhcp6_config) { - g_clear_object (&priv->dhcp6_config); - g_object_notify (G_OBJECT (self), NM_DEVICE_DHCP6_CONFIG); - } - if (priv->dhcp6_client) { if (priv->dhcp6_state_sigid) { g_signal_handler_disconnect (priv->dhcp6_client, priv->dhcp6_state_sigid); @@ -3046,6 +3041,11 @@ dhcp6_cleanup (NMDevice *self, gboolean stop, gboolean release) g_clear_object (&priv->dhcp6_client); } + + if (priv->dhcp6_config) { + g_clear_object (&priv->dhcp6_config); + g_object_notify (G_OBJECT (self), NM_DEVICE_DHCP6_CONFIG); + } } static void