settings: shortcut check for whether to create auto-default wired connection

This check is only useful for devices that implement new_default_connection.
We can shortcut the possibly expensive checks like have_connection_for_device(),
which need to iterate all profiles.

(cherry picked from commit 3e39d2a586)
This commit is contained in:
Thomas Haller 2019-08-07 13:01:45 +02:00
parent 04c5cc5a5c
commit bad64d1cf6

View file

@ -3459,7 +3459,8 @@ device_realized (NMDevice *device, GParamSpec *pspec, NMSettings *self)
/* If the device isn't managed or it already has a default wired connection,
* ignore it.
*/
if ( !nm_device_get_managed (device, FALSE)
if ( !NM_DEVICE_GET_CLASS (self)->new_default_connection
|| !nm_device_get_managed (device, FALSE)
|| g_object_get_qdata (G_OBJECT (device), _default_wired_connection_quark ())
|| have_connection_for_device (self, device)
|| nm_config_get_no_auto_default_for_device (priv->config, device))