--- trunk/src/gps.c 2010/06/06 20:39:06 287 +++ trunk/src/gps.c 2010/06/07 19:19:50 288 @@ -630,6 +630,8 @@ static void gps_control(gps_state_t *gps_state, gboolean enable0, gboolean enable1) { + printf("GPS: control(stp: %d, bg: %d)\n", enable0, enable1); + if(!gps_state->connected) { /* both "enable" signals have to be true */ if(enable0 && enable1) { @@ -655,7 +657,7 @@ if(gps_state->backgrounded == !enable) return; gps_state->backgrounded = !enable; - gps_control(gps_state, gps_state->stopped, gps_state->backgrounded); + gps_control(gps_state, !gps_state->stopped, !gps_state->backgrounded); } /* enable/disable on app request */ @@ -663,7 +665,7 @@ if(gps_state->stopped == !enable) return; gps_state->stopped = !enable; - gps_control(gps_state, gps_state->stopped, gps_state->backgrounded); + gps_control(gps_state, !gps_state->stopped, !gps_state->backgrounded); } #endif // USE_LIBLOCATION