From e122fbf8a43ec5575615fce457dd99073ff9553d Mon Sep 17 00:00:00 2001 From: Samuel Tardieu Date: Wed, 2 Apr 2014 13:47:44 +0200 Subject: fix #2729: crash on GPX export --- main/src/cgeo/geocaching/export/GpxSerializer.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'main/src/cgeo/geocaching/export/GpxSerializer.java') diff --git a/main/src/cgeo/geocaching/export/GpxSerializer.java b/main/src/cgeo/geocaching/export/GpxSerializer.java index 962f0d3..fef91cf 100644 --- a/main/src/cgeo/geocaching/export/GpxSerializer.java +++ b/main/src/cgeo/geocaching/export/GpxSerializer.java @@ -8,6 +8,7 @@ import cgeo.geocaching.Waypoint; import cgeo.geocaching.enumerations.CacheAttribute; import cgeo.geocaching.enumerations.LoadFlags; import cgeo.geocaching.geopoint.Geopoint; +import cgeo.geocaching.utils.Log; import cgeo.geocaching.utils.SynchronizedDateFormat; import cgeo.geocaching.utils.TextUtils; import cgeo.geocaching.utils.XmlUtils; @@ -258,7 +259,12 @@ public final class GpxSerializer { gpx.startTag(PREFIX_GROUNDSPEAK, "text"); gpx.attribute("", "encoded", "False"); - gpx.text(log.log); + try { + gpx.text(log.log); + } catch (final IllegalArgumentException e) { + Log.e("GpxSerializer.writeLogs: cannot write log " + log.id + " for cache " + cache.getGeocode(), e); + gpx.text(" [end of log omitted due to an invalid character]"); + } gpx.endTag(PREFIX_GROUNDSPEAK, "text"); gpx.endTag(PREFIX_GROUNDSPEAK, "log"); -- cgit v1.1