aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2013-01-23 08:53:11 +0100
committerSamuel Tardieu <sam@rfc1149.net>2013-01-23 08:53:11 +0100
commitf5ecc5ec78d7613e7508540bea7bae73e8e1e35f (patch)
tree3b0866a38d043c589b4dd5ee0901b88a9da435d8 /main/src
parenta3cd74d282d76416e35a9886b770954b9042f194 (diff)
parent49a756515566db95b4bf280c70a5ca03812ee488 (diff)
downloadcgeo-f5ecc5ec78d7613e7508540bea7bae73e8e1e35f.zip
cgeo-f5ecc5ec78d7613e7508540bea7bae73e8e1e35f.tar.gz
cgeo-f5ecc5ec78d7613e7508540bea7bae73e8e1e35f.tar.bz2
Merge branch 'release' into upstream
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/cgData.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/main/src/cgeo/geocaching/cgData.java b/main/src/cgeo/geocaching/cgData.java
index 4e16640..8033993 100644
--- a/main/src/cgeo/geocaching/cgData.java
+++ b/main/src/cgeo/geocaching/cgData.java
@@ -1110,7 +1110,6 @@ public class cgData {
private static void saveOriginalWaypointsWithoutTransaction(final cgCache cache) {
String geocode = cache.getGeocode();
- database.delete(dbTableWaypoints, "geocode = ? and type <> ? and own = 0", new String[]{geocode, "own"});
List<Waypoint> waypoints = cache.getWaypoints();
if (CollectionUtils.isNotEmpty(waypoints)) {
@@ -1133,8 +1132,12 @@ public class cgData {
values.put("note", oneWaypoint.getNote());
values.put("own", oneWaypoint.isUserDefined() ? 1 : 0);
- final long rowId = database.insert(dbTableWaypoints, null, values);
- oneWaypoint.setId((int) rowId);
+ if (oneWaypoint.getId() < 0) {
+ final long rowId = database.insert(dbTableWaypoints, null, values);
+ oneWaypoint.setId((int) rowId);
+ } else {
+ database.update(dbTableWaypoints, values, "_id = ?", new String[] { Integer.toString(oneWaypoint.getId(), 10) });
+ }
}
}
}