summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/component.cpp2
-rw-r--r--src/libs/installer/packagemanagercore.cpp4
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp8
-rw-r--r--src/libs/installer/productkeycheck.cpp16
-rw-r--r--src/libs/installer/productkeycheck.h8
5 files changed, 28 insertions, 10 deletions
diff --git a/src/libs/installer/component.cpp b/src/libs/installer/component.cpp
index 36e1df7fe..a4a16eb44 100644
--- a/src/libs/installer/component.cpp
+++ b/src/libs/installer/component.cpp
@@ -576,7 +576,7 @@ void Component::loadLicenses(const QString &directory, const QHash<QString, QVar
for (it = licenseHash.begin(); it != licenseHash.end(); ++it) {
const QString &fileName = it.value().toString();
- if (!ProductKeyCheck::instance()->isValidLicense(fileName))
+ if (!ProductKeyCheck::instance(d->m_core)->isValidLicense(fileName))
continue;
QFileInfo fileInfo(fileName);
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index d854b018a..1ab7d0909 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -869,8 +869,8 @@ bool PackageManagerCore::fetchRemotePackagesTree()
return false;
}
- if (!ProductKeyCheck::instance()->hasValidKey()) {
- d->setStatus(Failure, ProductKeyCheck::instance()->lastErrorString());
+ if (!ProductKeyCheck::instance(this)->hasValidKey()) {
+ d->setStatus(Failure, ProductKeyCheck::instance(this)->lastErrorString());
return false;
}
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index d703bbd97..9722a9200 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -569,13 +569,13 @@ QString PackageManagerCorePrivate::installReason(Component *component)
void PackageManagerCorePrivate::initialize(const QHash<QString, QString> &params)
{
- if (!ProductKeyCheck::instance()->hasValidKey()) {
+ if (!ProductKeyCheck::instance(m_core)->hasValidKey()) {
if (m_core->isInstaller()) {
- setStatus(PackageManagerCore::Failure, ProductKeyCheck::instance()->lastErrorString());
+ setStatus(PackageManagerCore::Failure, ProductKeyCheck::instance(m_core)->lastErrorString());
} else {
MessageBoxHandler::warning(MessageBoxHandler::currentBestSuitParent(),
- QLatin1String("ProductKeyCheckError"), ProductKeyCheck::instance()->lastErrorString(),
- ProductKeyCheck::instance()->maintainanceToolDetailErrorNotice(), QMessageBox::Ok);
+ QLatin1String("ProductKeyCheckError"), ProductKeyCheck::instance(m_core)->lastErrorString(),
+ ProductKeyCheck::instance(m_core)->maintainanceToolDetailErrorNotice(), QMessageBox::Ok);
}
}
diff --git a/src/libs/installer/productkeycheck.cpp b/src/libs/installer/productkeycheck.cpp
index 120014dad..e2aac1813 100644
--- a/src/libs/installer/productkeycheck.cpp
+++ b/src/libs/installer/productkeycheck.cpp
@@ -28,12 +28,16 @@
**************************************************************************/
#include <productkeycheck.h>
-
+#include <packagemanagercore.h>
class ProductKeyCheckPrivate
{
+ public:
+ static QPointer<QInstaller::PackageManagerCore> core;
};
+QPointer<QInstaller::PackageManagerCore> ProductKeyCheckPrivate::core = 0;
+
ProductKeyCheck::ProductKeyCheck()
: d(new ProductKeyCheckPrivate())
@@ -45,12 +49,20 @@ ProductKeyCheck::~ProductKeyCheck()
delete d;
}
-ProductKeyCheck *ProductKeyCheck::instance()
+ProductKeyCheck *ProductKeyCheck::instance(QInstaller::PackageManagerCore *core)
{
static ProductKeyCheck instance;
+ if (core)
+ instance.setPackageManagerCore(core);
return &instance;
}
+void ProductKeyCheck::setPackageManagerCore(QInstaller::PackageManagerCore *core)
+{
+ ProductKeyCheckPrivate::core = core;
+}
+
+
bool ProductKeyCheck::hasValidKey()
{
return true;
diff --git a/src/libs/installer/productkeycheck.h b/src/libs/installer/productkeycheck.h
index 1ecffc3d2..382986e30 100644
--- a/src/libs/installer/productkeycheck.h
+++ b/src/libs/installer/productkeycheck.h
@@ -34,6 +34,11 @@
#include <QString>
#include <QHash>
+#include <QPointer>
+
+namespace QInstaller{
+ class PackageManagerCore;
+}
class ProductKeyCheckPrivate;
@@ -41,7 +46,8 @@ class INSTALLER_EXPORT ProductKeyCheck
{
public:
~ProductKeyCheck();
- static ProductKeyCheck *instance();
+ static ProductKeyCheck *instance(QInstaller::PackageManagerCore *core = 0);
+ static void setPackageManagerCore(QInstaller::PackageManagerCore *core);
// was validLicense
bool hasValidKey();