diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c index f3d25e253..32b551b93 100644 --- a/src/platform/nm-linux-platform.c +++ b/src/platform/nm-linux-platform.c @@ -4476,9 +4476,10 @@ nm_linux_platform_init (NMLinuxPlatform *platform) { } -static gboolean -setup (NMPlatform *platform) +static void +constructed (GObject *_object) { + NMPlatform *platform = NM_PLATFORM (_object); NMLinuxPlatformPrivate *priv = NM_LINUX_PLATFORM_GET_PRIVATE (platform); const char *udev_subsys[] = { "net", NULL }; GUdevEnumerator *enumerator; @@ -4575,7 +4576,7 @@ setup (NMPlatform *platform) priv->wifi_data = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) wifi_utils_deinit); - return TRUE; + G_OBJECT_CLASS (nm_linux_platform_parent_class)->constructed (_object); } static void @@ -4610,10 +4611,9 @@ nm_linux_platform_class_init (NMLinuxPlatformClass *klass) g_type_class_add_private (klass, sizeof (NMLinuxPlatformPrivate)); /* virtual methods */ + object_class->constructed = constructed; object_class->finalize = nm_linux_platform_finalize; - platform_class->setup = setup; - platform_class->sysctl_set = sysctl_set; platform_class->sysctl_get = sysctl_get; diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c index 1bc907b66..feb820499 100644 --- a/src/platform/nm-platform.c +++ b/src/platform/nm-platform.c @@ -100,7 +100,6 @@ static NMPlatform *singleton_instance = NULL; void nm_platform_setup (GType type) { - gboolean status; NMPlatformClass *klass; g_assert (singleton_instance == NULL); @@ -109,10 +108,11 @@ nm_platform_setup (GType type) g_assert (NM_IS_PLATFORM (singleton_instance)); klass = NM_PLATFORM_GET_CLASS (singleton_instance); - g_assert (klass->setup); - status = klass->setup (singleton_instance); - g_assert (status); + if (klass->setup) { + if (!klass->setup (singleton_instance)) + g_assert_not_reached (); + } } /**