commit 55dc7c8e7203a1f5aadee49ec9693b47d0008928
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Mon Aug 14 23:13:53 2017 +0200

    imp

diff --git a/src/entityinstancefactory.cpp b/src/entityinstancefactory.cpp
index 95a3dee..e4a094f 100644
--- a/src/entityinstancefactory.cpp
+++ b/src/entityinstancefactory.cpp
@@ -140,13 +140,18 @@ Entity *EntityInstanceFactory::createInstance(const QMetaObject *object) {
 
 QList<QSharedPointer<Entity>> EntityInstanceFactory::castQVariantList(
         QVariant &list) {
-    return *reinterpret_cast<QList<QSharedPointer<Entity>>*>(list.data());
+    if(!list.isNull() && list.isValid()) {
+        return *reinterpret_cast<QList<QSharedPointer<Entity>>*>(list.data());
+    }
+    return QList<QSharedPointer<Entity>>();
 }
 
 const QSharedPointer<Entity> EntityInstanceFactory::castQVariant(
         QVariant &entity) {
-
-return *static_cast<const QSharedPointer<Entity>*>(entity.constData());
+    if(!entity.isNull() && entity.isValid()) {
+        return *static_cast<const QSharedPointer<Entity>*>(entity.constData());
+    }
+    return QSharedPointer<Entity>(nullptr);
 }
 
 QStringList EntityInstanceFactory::getRegisteredClasses() {
