From 2712010f2411973ff1687be63e3961f5c76acec3 Mon Sep 17 00:00:00 2001 From: Lars Uebernickel Date: Fri, 24 May 2013 17:10:40 -0400 Subject: refactor indicator_ng_initable_init This makes the flow a bit more apparent. Also gets rid of a goto. --- libindicator/indicator-ng.c | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) (limited to 'libindicator/indicator-ng.c') diff --git a/libindicator/indicator-ng.c b/libindicator/indicator-ng.c index fd78662..0bd3981 100644 --- a/libindicator/indicator-ng.c +++ b/libindicator/indicator-ng.c @@ -468,30 +468,24 @@ indicator_ng_initable_init (GInitable *initable, GKeyFile *keyfile; keyfile = g_key_file_new (); - if (!g_key_file_load_from_file (keyfile, self->service_file, G_KEY_FILE_NONE, error)) - goto out; - - if (!(self->name = g_key_file_get_string (keyfile, "Indicator Service", "Name", error))) - goto out; - - self->entry.name_hint = self->name; - - if (!(self->bus_name = g_key_file_get_string (keyfile, "Indicator Service", "BusName", error))) - goto out; - - if (!(self->object_path = g_key_file_get_string (keyfile, "Indicator Service", "ObjectPath", error))) - goto out; - - self->name_watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION, - self->bus_name, - G_BUS_NAME_WATCHER_FLAGS_AUTO_START, - indicator_ng_service_appeared, - indicator_ng_service_vanished, - self, NULL); + if (g_key_file_load_from_file (keyfile, self->service_file, G_KEY_FILE_NONE, error)) + { + if ((self->name = g_key_file_get_string (keyfile, "Indicator Service", "Name", error)) && + (self->bus_name = g_key_file_get_string (keyfile, "Indicator Service", "BusName", error)) && + (self->object_path = g_key_file_get_string (keyfile, "Indicator Service", "ObjectPath", error))) + { + self->entry.name_hint = self->name; + + self->name_watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION, + self->bus_name, + G_BUS_NAME_WATCHER_FLAGS_AUTO_START, + indicator_ng_service_appeared, + indicator_ng_service_vanished, + self, NULL); + } + } -out: g_key_file_free (keyfile); - return self->name_watch_id > 0; } -- cgit v1.2.3