refs #847 Use a local static QTempDirectory so it is not destroyed too early.

This commit is contained in:
Mathew Sutcliffe
2016-12-29 02:53:47 +00:00
parent 97137c46a6
commit 26498ca916
2 changed files with 4 additions and 10 deletions

View File

@@ -45,6 +45,7 @@
#include <QNetworkRequest> #include <QNetworkRequest>
#include <QSslSocket> #include <QSslSocket>
#include <QStandardPaths> #include <QStandardPaths>
#include <QTemporaryDir>
#include <QThread> #include <QThread>
#include <QTime> #include <QTime>
#include <QTimer> #include <QTimer>
@@ -431,15 +432,10 @@ namespace BlackCore
QString CApplication::getTemporaryDirectory() const QString CApplication::getTemporaryDirectory() const
{ {
if (this->m_tempDirectory.isValid()) static QTemporaryDir tempDir;
{ if (tempDir.isValid()) { return tempDir.path(); }
return this->m_tempDirectory.path();
}
else
{
return QDir::tempPath(); return QDir::tempPath();
} }
}
QString CApplication::getInfoString(const QString &separator) const QString CApplication::getInfoString(const QString &separator) const
{ {

View File

@@ -22,7 +22,6 @@
#include <QScopedPointer> #include <QScopedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <QTemporaryDir>
#include <atomic> #include <atomic>
#include <functional> #include <functional>
@@ -438,7 +437,6 @@ namespace BlackCore
QScopedPointer<CSetupReader> m_setupReader; //!< setup reader QScopedPointer<CSetupReader> m_setupReader; //!< setup reader
QScopedPointer<CWebDataServices> m_webDataServices; //!< web data services QScopedPointer<CWebDataServices> m_webDataServices; //!< web data services
QScopedPointer<BlackMisc::CFileLogger> m_fileLogger; //!< file logger QScopedPointer<BlackMisc::CFileLogger> m_fileLogger; //!< file logger
QTemporaryDir m_tempDirectory; //!< temp.directory for the lifetime of application object
QNetworkAccessManager m_accessManager { this }; //!< single network access manager QNetworkAccessManager m_accessManager { this }; //!< single network access manager
CCookieManager m_cookieManager; //!< single cookie manager for our access manager CCookieManager m_cookieManager; //!< single cookie manager for our access manager
QString m_applicationName; //!< application name QString m_applicationName; //!< application name