diff options
| author | Michael Biebl <biebl@debian.org> | 2017-01-23 23:34:56 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2017-01-23 23:34:56 +0100 |
| commit | d462f64d6044349b0a4e3581cf2c97bbab7aec97 (patch) | |
| tree | 0743acb1a191ce83b5722d77aeb896c6c0cdd952 /src/nm-act-request.c | |
| parent | 58f8be580039b0575b197b9573a1c92745d96d30 (diff) | |
New upstream version 1.5.91 upstream/1.5.91
Diffstat (limited to 'src/nm-act-request.c')
| -rw-r--r-- | src/nm-act-request.c | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/src/nm-act-request.c b/src/nm-act-request.c index 3a04667b..03964896 100644 --- a/src/nm-act-request.c +++ b/src/nm-act-request.c @@ -495,31 +495,39 @@ static void get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { + NMActiveConnection *active; NMDevice *device; - - device = nm_active_connection_get_device (NM_ACTIVE_CONNECTION (object)); - if (!device) { - g_value_set_string (value, "/"); - return; - } + char *name; switch (prop_id) { case PROP_IP4_CONFIG: - g_object_get_property (G_OBJECT (device), NM_DEVICE_IP4_CONFIG, value); + name = NM_DEVICE_IP4_CONFIG; break; case PROP_DHCP4_CONFIG: - g_object_get_property (G_OBJECT (device), NM_DEVICE_DHCP4_CONFIG, value); + name = NM_DEVICE_DHCP4_CONFIG; break; case PROP_IP6_CONFIG: - g_object_get_property (G_OBJECT (device), NM_DEVICE_IP6_CONFIG, value); + name = NM_DEVICE_IP6_CONFIG; break; case PROP_DHCP6_CONFIG: - g_object_get_property (G_OBJECT (device), NM_DEVICE_DHCP6_CONFIG, value); + name = NM_DEVICE_DHCP6_CONFIG; break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; + return; } + + active = NM_ACTIVE_CONNECTION (object); + device = nm_active_connection_get_device (active); + if ( !device + || !NM_IN_SET (nm_active_connection_get_state (active), + NM_ACTIVE_CONNECTION_STATE_ACTIVATED, + NM_ACTIVE_CONNECTION_STATE_DEACTIVATING)) { + g_value_set_string (value, "/"); + return; + } + + g_object_get_property (G_OBJECT (device), name, value); } static void |