Commit a00c0f8a authored by Don Gagne's avatar Don Gagne

Merge pull request #1051 from DonLakeFlyer/MapThread

Hopefully fix thread safety issue in opmapcontrol
parents 54fc0c39 6cb93da7
...@@ -90,9 +90,7 @@ namespace core { ...@@ -90,9 +90,7 @@ namespace core {
return false; return false;
} }
} }
QSqlDatabase db; QSqlDatabase db(QSqlDatabase::addDatabase("QSQLITE",QLatin1String("CreateConn")));
db = QSqlDatabase::addDatabase("QSQLITE",QLatin1String("CreateConn"));
db.setDatabaseName(file); db.setDatabaseName(file);
if (!db.open()) if (!db.open())
{ {
...@@ -181,8 +179,7 @@ namespace core { ...@@ -181,8 +179,7 @@ namespace core {
qlonglong id=++ConnCounter; qlonglong id=++ConnCounter;
Mcounter.unlock(); Mcounter.unlock();
{ {
QSqlDatabase cn; QSqlDatabase cn(QSqlDatabase::addDatabase("QSQLITE",QString::number(id)));
cn = QSqlDatabase::addDatabase("QSQLITE",QString::number(id));
QString db=gtilecache+"Data.qmdb"; QString db=gtilecache+"Data.qmdb";
cn.setDatabaseName(db); cn.setDatabaseName(db);
cn.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE"); cn.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE");
...@@ -228,9 +225,7 @@ namespace core { ...@@ -228,9 +225,7 @@ namespace core {
QString db=dir+"Data.qmdb"; QString db=dir+"Data.qmdb";
{ {
QSqlDatabase cn; QSqlDatabase cn(QSqlDatabase::addDatabase("QSQLITE",QString::number(id)));
cn = QSqlDatabase::addDatabase("QSQLITE",QString::number(id));
cn.setDatabaseName(db); cn.setDatabaseName(db);
cn.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE"); cn.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE");
...@@ -262,11 +257,10 @@ namespace core { ...@@ -262,11 +257,10 @@ namespace core {
ret=QFileInfo(db).exists(); ret=QFileInfo(db).exists();
if(ret) if(ret)
{ {
QSqlDatabase cn;
Mcounter.lock(); Mcounter.lock();
qlonglong id=++ConnCounter; qlonglong id=++ConnCounter;
Mcounter.unlock(); Mcounter.unlock();
cn = QSqlDatabase::addDatabase("QSQLITE",QString::number(id)); QSqlDatabase cn(QSqlDatabase::addDatabase("QSQLITE",QString::number(id)));
cn.setDatabaseName(db); cn.setDatabaseName(db);
cn.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE"); cn.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE");
if(cn.open()) if(cn.open())
...@@ -304,12 +298,12 @@ namespace core { ...@@ -304,12 +298,12 @@ namespace core {
ret=CreateEmptyDB(destFile); ret=CreateEmptyDB(destFile);
} }
if(!ret) return false; if(!ret) return false;
QSqlDatabase ca = QSqlDatabase::addDatabase("QSQLITE","ca"); QSqlDatabase ca(QSqlDatabase::addDatabase("QSQLITE","ca"));
ca.setDatabaseName(sourceFile); ca.setDatabaseName(sourceFile);
if(ca.open()) if(ca.open())
{ {
QSqlDatabase cb = QSqlDatabase::addDatabase("QSQLITE","cb"); QSqlDatabase cb(QSqlDatabase::addDatabase("QSQLITE","cb"));
cb.setDatabaseName(destFile); cb.setDatabaseName(destFile);
if(cb.open()) if(cb.open())
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment