aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@pelagicore.com>2019-06-25 10:43:59 +0200
committerDominik Holland <dominik.holland@pelagicore.com>2019-06-25 10:48:11 +0200
commitd935a744982d634c0538661eb48da88aec142ee7 (patch)
tree0b2e41e79d348ce5834511bb77ab4074b1bddbfc
parent66aa8cbd74c2f3131b0f7e1b386fd459c69a8dc0 (diff)
Always register the QIviServiceObject* as a Qt Metatype
By trying to make the registration always work without the need to import the QtIviCore module explicitly the registration happened to late. Now all elements just use the QtIviCoreModule::registerTypes() function which makes sure all needed types are registered once the first QtIvi item is used. Change-Id: I8ea3b88302ab640cb7f355c2e88f46eccf98e53b Fixes: AUTOSUITE-1065 Fixes: AUTOSUITE-1058 Reviewed-by: Vladimir Minenko <vladimir.minenko@pelagicore.com> Reviewed-by: Egor Nemtsev <enemtsev@luxoft.com>
-rw-r--r--src/ivicore/qiviservicemanager.cpp4
-rw-r--r--src/ivicore/qtivicoremodule.cpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/ivicore/qiviservicemanager.cpp b/src/ivicore/qiviservicemanager.cpp
index f4f9b24..552a1a4 100644
--- a/src/ivicore/qiviservicemanager.cpp
+++ b/src/ivicore/qiviservicemanager.cpp
@@ -42,6 +42,7 @@
#include "qiviservicemanager.h"
+#include "qtivicoremodule.h"
#include "qiviproxyserviceobject.h"
#include "qiviservicemanager_p.h"
@@ -493,8 +494,7 @@ QIviServiceManager::QIviServiceManager()
: QAbstractListModel(nullptr)
, d_ptr(new QIviServiceManagerPrivate(this))
{
- qRegisterMetaType<QIviServiceObject*>();
- qRegisterMetaType<QList<QIviServiceObject*>>("QList<QIviServiceObject*>");
+ QtIviCoreModule::registerTypes();
d_ptr->searchPlugins();
}
diff --git a/src/ivicore/qtivicoremodule.cpp b/src/ivicore/qtivicoremodule.cpp
index fb6cbad..18836de 100644
--- a/src/ivicore/qtivicoremodule.cpp
+++ b/src/ivicore/qtivicoremodule.cpp
@@ -148,6 +148,8 @@ QtIviCoreModule::QtIviCoreModule(QObject *parent)
*/
void QtIviCoreModule::registerTypes()
{
+ qRegisterMetaType<QIviServiceObject*>();
+ qRegisterMetaType<QList<QIviServiceObject*>>("QList<QIviServiceObject*>");
qRegisterMetaType<QtIviCoreModule::ModelCapabilities>();
qIviRegisterPendingReplyType<QtIviCoreModule::ModelCapabilities>();
}