commit ed51642bee93ba266f26892af354e9ead66989f1
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Sat Apr 15 14:27:54 2017 +0200

    fix!?

diff --git a/src/entityinstancefactory.cpp b/src/entityinstancefactory.cpp
index ef38a0d..2c511fb 100644
--- a/src/entityinstancefactory.cpp
+++ b/src/entityinstancefactory.cpp
@@ -143,7 +143,16 @@ QVariant &list) {
 
 QSharedPointer<Entity> EntityInstanceFactory::castQVariant(
     QVariant &entity) {
-    return *reinterpret_cast<QSharedPointer<Entity>*>(entity.data());
+    auto e = entity.value<QSharedPointer<Entity>>();
+    if(!e) {
+        auto ne = *reinterpret_cast<QSharedPointer<Entity>*>(entity.data());
+        if(ne && ne->getClassname() != "Entity") {
+            e = ne;
+        } else {
+            e = QSharedPointer<Entity>();
+        }
+    }
+    return e;
 }
 
 QStringList EntityInstanceFactory::getRegisteredClasses() {
