diff options
author | Samuel Tardieu <sam@rfc1149.net> | 2014-11-21 00:31:58 +0100 |
---|---|---|
committer | Samuel Tardieu <sam@rfc1149.net> | 2014-11-21 00:31:58 +0100 |
commit | 3e72de6a028edf6a75d60b26bc35023288a2c233 (patch) | |
tree | 4ed4e3b39bd7cdc1aa4b26bd8378c4acfb4ed439 /main/src | |
parent | 8789ab161eb02f12196715a36247a056cb18fcc7 (diff) | |
download | cgeo-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.java | 9 |
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(); } |