+libslp-location (0.3.39-1) unstable; urgency=low
+
+ * Fix a crash after changes that velocity is updated before position.
+ * Tag: libslp-location_0.3.39-1
+
+ -- Minjune Kim <sena06.kim@samsung.com> Fri, 31 Aug 2012 19:02:39 +0900
+
libslp-location (0.3.38-1) unstable; urgency=low
* Add the parameter, LocationMapPref in Geocoder
}
enable_signaling(self, signals, &(priv->enabled), enabled, pos->status);
- position_signaling(self, signals, &(priv->enabled), priv->pos_interval, FALSE, &(priv->pos_updated_timestamp), &(priv->pos), &(priv->acc), priv->boundary_list, &(priv->zone_status), pos, acc);
+ position_signaling(self, signals, &(priv->enabled), priv->pos_interval, FALSE, &(priv->pos_updated_timestamp), &(priv->pos), priv->boundary_list, &(priv->zone_status), pos, acc);
}
static void
LOCATION_LOGD("cps_velocity_cb");
g_return_if_fail(self);
LocationCpsPrivate* priv = GET_PRIVATE(self);
- velocity_signaling(self, signals, &(priv->enabled), priv->vel_interval, FALSE, &(priv->vel_updated_timestamp), &(priv->vel), vel, acc);
+ velocity_signaling(self, signals, &(priv->enabled), priv->vel_interval, FALSE, &(priv->vel_updated_timestamp), &(priv->vel), &(priv->acc), vel, acc);
}
static void
LocationGpsPrivate* priv = GET_PRIVATE(self);
enable_signaling(self, signals, &(priv->enabled), enabled, pos->status);
- position_signaling(self, signals, &(priv->enabled), priv->pos_interval, TRUE, &(priv->pos_updated_timestamp), &(priv->pos), &(priv->acc), priv->boundary_list, &(priv->zone_status), pos, acc);
+ position_signaling(self, signals, &(priv->enabled), priv->pos_interval, TRUE, &(priv->pos_updated_timestamp), &(priv->pos), priv->boundary_list, &(priv->zone_status), pos, acc);
}
LOCATION_LOGD("gps_velocity_cb");
g_return_if_fail(self);
LocationGpsPrivate* priv = GET_PRIVATE(self);
- velocity_signaling(self, signals, &(priv->enabled), priv->vel_interval, TRUE, &(priv->vel_updated_timestamp), &(priv->vel), vel, acc);
+ velocity_signaling(self, signals, &(priv->enabled), priv->vel_interval, TRUE, &(priv->vel_updated_timestamp), &(priv->vel), &(priv->acc), vel, acc);
}
static void
if (hybrid_compare_g_type_method(priv, g_type)) {
LocationAccuracy *acc = (LocationAccuracy*)accuracy;
if (type == POSITION_UPDATED) {
- position_signaling(self, signals, &(priv->enabled), priv->pos_interval, TRUE, &(priv->pos_updated_timestamp), &(priv->pos), &(priv->acc), priv->boundary_list, &(priv->zone_status), pos, acc);
+ position_signaling(self, signals, &(priv->enabled), priv->pos_interval, TRUE, &(priv->pos_updated_timestamp), &(priv->pos), priv->boundary_list, &(priv->zone_status), pos, acc);
LOCATION_LOGW("Position updated. timestamp [%d]", priv->pos->timestamp);
} else if (type == VELOCITY_UPDATED) {
- velocity_signaling(self, signals, &(priv->enabled), priv->vel_interval, TRUE, &(priv->vel_updated_timestamp), &(priv->vel), vel, acc);
+ velocity_signaling(self, signals, &(priv->enabled), priv->vel_interval, TRUE, &(priv->vel_updated_timestamp), &(priv->vel), &(priv->acc), vel, acc);
LOCATION_LOGW("Velocity updated. timestamp [%d]", priv->vel->timestamp);
}
gboolean emit,
guint *updated_timestamp,
LocationPosition **prev_pos,
- LocationAccuracy **prev_acc,
GList *prev_bound,
ZoneStatus *zone_status,
const LocationPosition *pos,
if (!pos->timestamp) return;
if (*prev_pos) location_position_free (*prev_pos);
- if (*prev_acc) location_accuracy_free (*prev_acc);
*prev_pos = location_position_copy(pos);
- *prev_acc = location_accuracy_copy(acc);
LOCATION_LOGD("timestamp[%d], lat [%f], lon [%f]", (*prev_pos)->timestamp, (*prev_pos)->latitude, (*prev_pos)->longitude);
if (emit && pos->timestamp - *updated_timestamp >= interval) {
gboolean emit,
guint *updated_timestamp,
LocationVelocity **prev_vel,
+ LocationAccuracy **prev_acc,
const LocationVelocity *vel,
const LocationAccuracy *acc)
{
if (!vel->timestamp) return;
if (*prev_vel) location_velocity_free (*prev_vel);
+ if (*prev_acc) location_accuracy_free (*prev_acc);
+
*prev_vel = location_velocity_copy (vel);
+ *prev_acc = location_accuracy_copy (acc);
LOCATION_LOGD("timestamp[%d]", (*prev_vel)->timestamp);
if (emit && vel->timestamp - *updated_timestamp >= interval) {
void position_signaling (LocationObject *obj, guint32 signals[LAST_SIGNAL],
gboolean *prev_enabled, int interval, gboolean emit,
- guint *updated_interval, LocationPosition **prev_pos, LocationAccuracy **prev_acc,
+ guint *updated_interval, LocationPosition **prev_pos,
GList *prev_bound, ZoneStatus *zone_status,
const LocationPosition *pos, const LocationAccuracy *acc);
void velocity_signaling (LocationObject* obj, guint32 signals[LAST_SIGNAL],
gboolean *prev_enabled, int interval, gboolean emit,
- guint *updated_timestamp, LocationVelocity **prev_vel,
+ guint *updated_timestamp, LocationVelocity **prev_vel, LocationAccuracy **prev_acc,
const LocationVelocity *vel, const LocationAccuracy *acc);
void satellite_signaling(LocationObject *obj, guint32 signals[LAST_SIGNAL],
}
enable_signaling(self, signals, &(priv->enabled), enabled, pos->status);
- position_signaling(self, signals, &(priv->enabled), priv->pos_interval, FALSE, &(priv->pos_updated_timestamp), &(priv->pos), &(priv->acc), priv->boundary_list, &(priv->zone_status), pos, acc);
+ position_signaling(self, signals, &(priv->enabled), priv->pos_interval, FALSE, &(priv->pos_updated_timestamp), &(priv->pos), priv->boundary_list, &(priv->zone_status), pos, acc);
}
static void
LOCATION_LOGD("wps_velocity_cb");
g_return_if_fail(self);
LocationWpsPrivate* priv = GET_PRIVATE(self);
- velocity_signaling(self, signals, &(priv->enabled), priv->vel_interval, FALSE, &(priv->vel_updated_timestamp), &(priv->vel), vel, acc);
+ velocity_signaling(self, signals, &(priv->enabled), priv->vel_interval, FALSE, &(priv->vel_updated_timestamp), &(priv->vel), &(priv->acc), vel, acc);
}
static void
Name: libslp-location
Summary: Location Based Service
-Version: 0.3.38
+Version: 0.3.39
Release: 1
Group: System/Libraries
License: TBD