aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJon Lund Steffensen <jonlst@gmail.com>2013-10-21 15:44:51 -0400
committerJon Lund Steffensen <jonlst@gmail.com>2013-10-21 15:44:51 -0400
commit978f4acde2e7bfce16cbc5dca56fbccb8e4dd5ec (patch)
treec9ec974d5325693c924b330420fb4ae808f25b29 /src
parentcolorramp: Fix slight flicker caused by improper scaling of gamma ramp values (diff)
downloadredshift-ng-978f4acde2e7bfce16cbc5dca56fbccb8e4dd5ec.tar.gz
redshift-ng-978f4acde2e7bfce16cbc5dca56fbccb8e4dd5ec.tar.bz2
redshift-ng-978f4acde2e7bfce16cbc5dca56fbccb8e4dd5ec.tar.xz
location-geoclue: Fix crash when starting geoclue provider. (Thanks to Maks Verver)
Diffstat (limited to 'src')
-rw-r--r--src/location-geoclue.c14
1 files 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;