aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-11-21 00:31:58 +0100
committerSamuel Tardieu <sam@rfc1149.net>2014-11-21 00:31:58 +0100
commit3e72de6a028edf6a75d60b26bc35023288a2c233 (patch)
tree4ed4e3b39bd7cdc1aa4b26bd8378c4acfb4ed439 /main/src
parent8789ab161eb02f12196715a36247a056cb18fcc7 (diff)
downloadcgeo-3e72de6a028edf6a75d60b26bc35023288a2c233.zip
cgeo-3e72de6a028edf6a75d60b26bc35023288a2c233.tar.gz
cgeo-3e72de6a028edf6a75d60b26bc35023288a2c233.tar.bz2
fix #4450: crash after performing backup
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/DataStore.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/main/src/cgeo/geocaching/DataStore.java b/main/src/cgeo/geocaching/DataStore.java
index c6a2437..b6a3957 100644
--- a/main/src/cgeo/geocaching/DataStore.java
+++ b/main/src/cgeo/geocaching/DataStore.java
@@ -2934,7 +2934,7 @@ public class DataStore {
private final static PreparedStatement COUNT_TYPE_LIST = new PreparedStatement("select count(_id) from " + dbTableCaches + " where detailed = 1 and type = ? and reason = ?");
private final static PreparedStatement COUNT_ALL_TYPES_LIST = new PreparedStatement("select count(_id) from " + dbTableCaches + " where detailed = 1 and reason = ?");
- private static final List<SQLiteStatement> statements = new ArrayList<>();
+ private static final List<PreparedStatement> statements = new ArrayList<>();
private SQLiteStatement statement = null; // initialized lazily
final String query;
@@ -2951,14 +2951,15 @@ public class DataStore {
if (statement == null) {
init();
statement = database.compileStatement(query);
- statements.add(statement);
+ statements.add(this);
}
return statement;
}
private static void clearPreparedStatements() {
- for (final SQLiteStatement statement : statements) {
- statement.close();
+ for (final PreparedStatement preparedStatement : statements) {
+ preparedStatement.statement.close();
+ preparedStatement.statement = null;
}
statements.clear();
}