manager: emit device-removed signal when a device unrealizes

The 'device-added' and 'device-removed' signals indicate when the
value of the 'Devices' property changes. The property only returns
realized devices and so if a device unrealizes we should emit the
removed signal for it.

Fixes: 5da37a129c

https://bugzilla.gnome.org/show_bug.cgi?id=771324
This commit is contained in:
Beniamino Galvani 2016-09-14 14:15:24 +02:00
parent 8f92ead6e2
commit cdedd2b53e

View file

@ -1868,8 +1868,10 @@ device_realized (NMDevice *device,
GParamSpec *pspec,
NMManager *self)
{
gboolean real = nm_device_is_real (device);
/* Emit D-Bus signals */
g_signal_emit (self, signals[DEVICE_ADDED], 0, device);
g_signal_emit (self, signals[real ? DEVICE_ADDED : DEVICE_REMOVED], 0, device);
_notify (self, PROP_DEVICES);
}
@ -6045,7 +6047,8 @@ nm_manager_class_init (NMManagerClass *manager_class)
NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_OBJECT);
/* D-Bus exported; emitted only for realized devices */
/* D-Bus exported; emitted only for realized devices when a device
* becomes unrealized or removed */
signals[DEVICE_REMOVED] =
g_signal_new (NM_MANAGER_DEVICE_REMOVED,
G_OBJECT_CLASS_TYPE (object_class),