diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2013-01-23 08:51:52 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2013-01-23 08:51:52 +0100 |
| commit | 49a756515566db95b4bf280c70a5ca03812ee488 (patch) | |
| tree | dd4ba077b9cfc3ed0360c5a91713f33508506f7a /main/src | |
| parent | d5c26a3d8bb28c454ad8225eb08bfcd05d27b789 (diff) | |
| parent | 6335693959709d1d1f6cd08379e70b726731809a (diff) | |
| download | cgeo-49a756515566db95b4bf280c70a5ca03812ee488.zip cgeo-49a756515566db95b4bf280c70a5ca03812ee488.tar.gz cgeo-49a756515566db95b4bf280c70a5ca03812ee488.tar.bz2 | |
Merge branch 'release-fix' of https://github.com/Portree-Kid/c-geo-opensource into release
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/cgData.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/main/src/cgeo/geocaching/cgData.java b/main/src/cgeo/geocaching/cgData.java index 94eb3fd..b080f7c 100644 --- a/main/src/cgeo/geocaching/cgData.java +++ b/main/src/cgeo/geocaching/cgData.java @@ -1160,7 +1160,6 @@ public class cgData { private void saveOriginalWaypointsWithoutTransaction(final cgCache cache) { String geocode = cache.getGeocode(); - database.delete(dbTableWaypoints, "geocode = ? and type <> ? and own = 0", new String[]{geocode, "own"}); List<cgWaypoint> waypoints = cache.getWaypoints(); if (CollectionUtils.isNotEmpty(waypoints)) { @@ -1183,8 +1182,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) }); + } } } } |
