diff options
author | Dominik Holland <dominik.holland@pelagicore.com> | 2019-06-25 10:43:59 +0200 |
---|---|---|
committer | Dominik Holland <dominik.holland@pelagicore.com> | 2019-06-25 10:48:11 +0200 |
commit | d935a744982d634c0538661eb48da88aec142ee7 (patch) | |
tree | 0b2e41e79d348ce5834511bb77ab4074b1bddbfc | |
parent | 66aa8cbd74c2f3131b0f7e1b386fd459c69a8dc0 (diff) | |
download | qtivi-d935a744982d634c0538661eb48da88aec142ee7.tar.gz |
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.cpp | 4 | ||||
-rw-r--r-- | src/ivicore/qtivicoremodule.cpp | 2 |
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>(); } |