From 8fbc0076a4827ddc6af92e0b9daa4c4c31450808 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 19 Jul 2013 01:10:32 -0700 Subject: Fri Jul 19 01:09:18 PDT 2013 --- community/redshift/165_164.diff | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 community/redshift/165_164.diff (limited to 'community/redshift/165_164.diff') diff --git a/community/redshift/165_164.diff b/community/redshift/165_164.diff new file mode 100644 index 000000000..663b5663b --- /dev/null +++ b/community/redshift/165_164.diff @@ -0,0 +1,55 @@ +=== modified file 'src/location-geoclue.c' +--- src/location-geoclue.c 2011-03-27 22:14:58 +0000 ++++ src/location-geoclue.c 2011-07-12 20:30:30 +0000 +@@ -50,14 +50,20 @@ + int + location_geoclue_start(location_geoclue_state_t *state) + { +- GeoclueMaster *master = NULL; +- GeoclueMasterClient *client = NULL; +- GError *error = NULL; +- gchar *name = NULL; ++ if (state->provider && state->provider_path) { ++ state->position = geoclue_position_new(state->provider, ++ state->provider_path); ++ } else { ++ GeoclueMaster *master = geoclue_master_get_default(); ++ GeoclueMasterClient *client = geoclue_master_create_client(master, ++ NULL, NULL); ++ GError *error = NULL; + +- if (!(state->provider && state->provider_path)) { +- master = geoclue_master_get_default(); +- client = geoclue_master_create_client(master, NULL, NULL); ++ if (client == NULL) { ++ g_printerr(_("Unable to obtain master client.\n")); ++ g_object_unref(master); ++ return -1; ++ } + + if (!geoclue_master_client_set_requirements(client, + GEOCLUE_ACCURACY_LEVEL_REGION, +@@ -68,15 +74,18 @@ + error->message); + g_error_free(error); + g_object_unref(client); ++ g_object_unref(master); + + return -1; + } + + state->position = geoclue_master_client_create_position(client, NULL); +- } else { +- state->position = geoclue_position_new(state->provider, +- state->provider_path); +- } ++ ++ g_object_unref(client); ++ g_object_unref(master); ++ } ++ ++ gchar *name = NULL; + + if (geoclue_provider_get_provider_info(GEOCLUE_PROVIDER(state->position), + &name, NULL, NULL)) { + -- cgit v1.2.3-54-g00ecf