summaryrefslogtreecommitdiff
path: root/src/libnm-client-impl/nm-device.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnm-client-impl/nm-device.c')
-rw-r--r--src/libnm-client-impl/nm-device.c13
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 =