summary refs log tree commit diff
path: root/libnm-glib/nm-object.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2017-05-11 14:55:55 +0200
committerMichael Biebl <biebl@debian.org>2017-05-11 14:55:55 +0200
commitc333f062ddcba9b35330647bf6cbd0a07f2d786e (patch)
tree257c3a0c74c09f4ad2328eab5b932806405f0c1c /libnm-glib/nm-object.c
parenta222e56e103f949b148a6942e385ccca2c26d9f3 (diff)
New upstream version 1.8.0 upstream/1.8.0
Diffstat (limited to 'libnm-glib/nm-object.c')
-rw-r--r--libnm-glib/nm-object.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/libnm-glib/nm-object.c b/libnm-glib/nm-object.c
index c7201cda..2e07ff6d 100644
--- a/libnm-glib/nm-object.c
+++ b/libnm-glib/nm-object.c
@@ -175,7 +175,22 @@ constructor (GType type,
 
 	priv = NM_OBJECT_GET_PRIVATE (object);
 
-	if (priv->connection == NULL || priv->path == NULL) {
+	if (priv->connection == NULL) {
+		GError *error = NULL;
+
+		priv->connection = _nm_dbus_new_connection (&error);
+
+		if (priv->connection == NULL) {
+			g_warning ("Error connecting to system bus: %s", error->message);
+			g_clear_error (&error);
+			g_object_unref (object);
+			return NULL;
+		}
+	}
+
+	g_assert (priv->connection != NULL);
+
+	if (priv->path == NULL) {
 		g_warn_if_reached ();
 		g_object_unref (object);
 		return NULL;
@@ -354,13 +369,11 @@ set_property (GObject *object, guint prop_id,
 
 	switch (prop_id) {
 	case PROP_DBUS_CONNECTION:
-		/* Construct only */
+		/* construct-only */
 		priv->connection = g_value_dup_boxed (value);
-		if (!priv->connection)
-			priv->connection = _nm_dbus_new_connection (NULL);
 		break;
 	case PROP_DBUS_PATH:
-		/* Construct only */
+		/* construct-only */
 		priv->path = g_value_dup_string (value);
 		break;
 	default: