From 978f4acde2e7bfce16cbc5dca56fbccb8e4dd5ec Mon Sep 17 00:00:00 2001
From: Jon Lund Steffensen <jonlst@gmail.com>
Date: Mon, 21 Oct 2013 15:44:51 -0400
Subject: location-geoclue: Fix crash when starting geoclue provider. (Thanks
 to Maks Verver)

---
 src/location-geoclue.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/location-geoclue.c b/src/location-geoclue.c
index 6aedfcd..ebc0cde 100644
--- a/src/location-geoclue.c
+++ b/src/location-geoclue.c
@@ -54,14 +54,16 @@ location_geoclue_start(location_geoclue_state_t *state)
 		state->position = geoclue_position_new(state->provider,
 						       state->provider_path);
         } else {
+                GError *error = NULL;
                 GeoclueMaster *master = geoclue_master_get_default();
                 GeoclueMasterClient *client = geoclue_master_create_client(master,
-                                                                           NULL, NULL);
-                GError *error = NULL;
+                                                                           NULL, &error);
+		g_object_unref(master);
 
                 if (client == NULL) {
-                        g_printerr(_("Unable to obtain master client.\n"));
-                        g_object_unref(master);
+                        g_printerr(_("Unable to obtain master client: %s\n"),
+				   error->message);
+			g_error_free(error);
                         return -1;
                 }
 
@@ -70,11 +72,10 @@ location_geoclue_start(location_geoclue_state_t *state)
 							    0, FALSE,
 							    GEOCLUE_RESOURCE_NETWORK,
 							    &error)) {
-			g_printerr(_("Can't set requirements for master: %s"),
+			g_printerr(_("Can't set requirements for master: %s\n"),
 				   error->message);
 			g_error_free(error);
 			g_object_unref(client);
-                        g_object_unref(master);
 
 			return -1;
 		}
@@ -82,7 +83,6 @@ location_geoclue_start(location_geoclue_state_t *state)
 		state->position = geoclue_master_client_create_position(client, NULL);
 
                 g_object_unref(client);
-                g_object_unref(master);
 	}
 
 	gchar *name = NULL;
-- 
cgit v1.2.3-70-g09d2