--- trunk/src/gps.c 2009/06/25 19:08:48 8 +++ trunk/src/gps.c 2009/06/26 12:24:24 11 @@ -558,12 +558,28 @@ g_signal_connect(gps_state->device, "changed", G_CALLBACK(location_changed), gps_state); +#if MAEMO_VERSION_MAJOR < 5 + gps_state->control = location_gpsd_control_get_default(); + + if(appdata->gps_enabled && gps_state->control && + gps_state->control->can_control) { + printf("Having control over GPSD and GPS is to be enabled, starting it\n"); + location_gpsd_control_start(gps_state->control); + } +#endif } void gps_release(appdata_t *appdata) { gps_state_t *gps_state = appdata->gps_state; if(!gps_state->device) return; + +#if MAEMO_VERSION_MAJOR < 5 + if(gps_state->control && gps_state->control->can_control) { + printf("Having control over GPSD, stopping it\n"); + location_gpsd_control_stop(gps_state->control); + } +#endif /* Disconnect signal */ g_signal_handler_disconnect(gps_state->device, gps_state->idd_changed);