diff --git a/src/libs/opmapcontrol/src/core/pureimagecache.cpp b/src/libs/opmapcontrol/src/core/pureimagecache.cpp index de648fb276cf0f97acca787819ec63452daaa717..efda4187547e4e685477fcb7e00203dd2e6409f5 100644 --- a/src/libs/opmapcontrol/src/core/pureimagecache.cpp +++ b/src/libs/opmapcontrol/src/core/pureimagecache.cpp @@ -227,23 +227,25 @@ namespace core { #endif //DEBUG_PUREIMAGECACHE QString db=dir+"Data.qmdb"; - QSqlDatabase cn; - - cn = QSqlDatabase::addDatabase("QSQLITE",QString::number(id)); + { + QSqlDatabase cn; + + cn = QSqlDatabase::addDatabase("QSQLITE",QString::number(id)); - cn.setDatabaseName(db); - cn.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE"); - if(cn.open()) - { - QSqlQuery query(cn); - query.exec(QString("SELECT Tile FROM TilesData WHERE id = (SELECT id FROM Tiles WHERE X=%1 AND Y=%2 AND Zoom=%3 AND Type=%4)").arg(pos.X()).arg(pos.Y()).arg(zoom).arg((int) type)); - query.next(); - if(query.isValid()) + cn.setDatabaseName(db); + cn.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE"); + if(cn.open()) { - ar=query.value(0).toByteArray(); - } - cn.close(); - } + QSqlQuery query(cn); + query.exec(QString("SELECT Tile FROM TilesData WHERE id = (SELECT id FROM Tiles WHERE X=%1 AND Y=%2 AND Zoom=%3 AND Type=%4)").arg(pos.X()).arg(pos.Y()).arg(zoom).arg((int) type)); + query.next(); + if(query.isValid()) + { + ar=query.value(0).toByteArray(); + } + cn.close(); + } + } QSqlDatabase::removeDatabase(QString::number(id)); lock.unlock(); return ar;