diff options
Diffstat (limited to 'src/libnm-client-impl/nm-device.c')
-rw-r--r-- | src/libnm-client-impl/nm-device.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libnm-client-impl/nm-device.c b/src/libnm-client-impl/nm-device.c index 238e7c1709..65d6000a73 100644 --- a/src/libnm-client-impl/nm-device.c +++ b/src/libnm-client-impl/nm-device.c @@ -190,6 +190,7 @@ _notify_update_prop_state_reason(NMClient *client, NMLDBusObject *dbobj, const NMLDBusMetaIface *meta_iface, guint dbus_property_idx, + gboolean is_removed, GVariant *value) { NMDevice *self = NM_DEVICE(dbobj->nmobj); @@ -197,6 +198,9 @@ _notify_update_prop_state_reason(NMClient *client, guint32 new_state = NM_DEVICE_STATE_UNKNOWN; guint32 reason = NM_DEVICE_STATE_REASON_NONE; + if (is_removed) + return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NONE; + /* We ignore the "State" property and the "StateChanged" signal of the device. * This information is redundant to the "StateReason" property, and we rely * on that one alone. In the best case, the information is identical. If it @@ -234,6 +238,7 @@ _notify_update_prop_lldp_neighbors(NMClient *client, NMLDBusObject *dbobj, const NMLDBusMetaIface *meta_iface, guint dbus_property_idx, + gboolean is_removed, GVariant *value) { NMDevice *self = NM_DEVICE(dbobj->nmobj); @@ -243,6 +248,9 @@ _notify_update_prop_lldp_neighbors(NMClient *client, GVariantIter *attrs_iter; GVariantIter iter; + if (is_removed) + return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NONE; + new = g_ptr_array_new_with_free_func((GDestroyNotify) nm_lldp_neighbor_unref); if (value) { @@ -1300,6 +1308,7 @@ _nm_device_notify_update_prop_hw_address(NMClient *client, NMLDBusObject *dbobj, const NMLDBusMetaIface *meta_iface, guint dbus_property_idx, + gboolean is_removed, GVariant *value) { NMDevice *self = NM_DEVICE(dbobj->nmobj); @@ -1307,6 +1316,9 @@ _nm_device_notify_update_prop_hw_address(NMClient *client, gboolean is_new = (meta_iface == &_nml_dbus_meta_iface_nm_device); gboolean changed = FALSE; + if (is_removed) + return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NONE; + if (!is_new && priv->hw_address_is_new) { /* once the instance is marked to honor the new property, the * changed signal for the old variant gets ignored. */ @@ -1364,6 +1376,7 @@ _nm_device_notify_update_prop_ports(NMClient *client, NMLDBusObject *dbobj, const NMLDBusMetaIface *meta_iface, guint dbus_property_idx, + gboolean is_removed, GVariant *value) { const NMLDBusMetaProperty *meta_property = |