diff options
Diffstat (limited to 'libnm/nm-device.c')
| -rw-r--r-- | libnm/nm-device.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libnm/nm-device.c b/libnm/nm-device.c index 496dd87a..b3dc01b2 100644 --- a/libnm/nm-device.c +++ b/libnm/nm-device.c @@ -1722,6 +1722,7 @@ get_description (NMDevice *device) char *pdown; char *vdown; GString *str; + GParamSpec *name_prop; dev_product = nm_device_get_product (device); priv->short_product = fixup_desc_string (dev_product); @@ -1729,6 +1730,15 @@ get_description (NMDevice *device) dev_vendor = nm_device_get_vendor (device); priv->short_vendor = fixup_desc_string (dev_vendor); + /* Grab device's preferred name, if any */ + name_prop = g_object_class_find_property (G_OBJECT_GET_CLASS (G_OBJECT (device)), "name"); + if (name_prop) { + g_object_get (device, "name", &priv->description, NULL); + if (priv->description && priv->description[0]) + return; + g_clear_pointer (&priv->description, g_free); + } + if (!dev_product || !dev_vendor) { priv->description = g_strdup (nm_device_get_iface (device)); return; |