EntityActionPointer InterfaceActionFactory::factory(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity, QVariantMap arguments) { EntityActionPointer action = interfaceActionFactory(type, id, ownerEntity); if (action) { bool ok = action->updateArguments(arguments); if (ok) { if (action->lifetimeIsOver()) { return nullptr; } return action; } } return nullptr; }