commit ca25da8b3279e398ea64ed3ebfb32690324643f3
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Thu Oct 15 13:30:36 2015 +0200

    small fix

diff --git a/src/entityinstancefactory.cpp b/src/entityinstancefactory.cpp
index c886fb9..be7f7e0 100644
--- a/src/entityinstancefactory.cpp
+++ b/src/entityinstancefactory.cpp
@@ -50,7 +50,12 @@ Entity *EntityInstanceFactory::createInstance(int metaTypeId) {
     if (metaTypeId != QMetaType::UnknownType) {
         auto metaObject = QMetaType::metaObjectForType(metaTypeId);
         if (metaObject) {
-            e = qobject_cast<Entity *>(metaObject->newInstance());
+            e = qobject_cast<Entity *>(EntityInstanceFactory::createObject(metaObject->className()));
+            if(!e) {
+                e = qobject_cast<Entity *>(metaObject->newInstance());
+                qDebug() << "Backup method for dynamic object creation was called. Maybe the class " +
+                         metaObject->className()+"isn't registered?";
+            }
         } else {
             void *newObj = QMetaType::create(metaTypeId);
             if (newObj) {
@@ -135,8 +140,8 @@ Entity *EntityInstanceFactory::createInstance(const QMetaObject *object) {
     }
 }
 
-QList<QSharedPointer<Entity> > EntityInstanceFactory::castQVariantList(
-    QVariant &list) {
+QList<QSharedPointer<Entity>> EntityInstanceFactory::castQVariantList(
+QVariant &list) {
     return *reinterpret_cast<QList<QSharedPointer<Entity>>*>(list.data());
 }
 
