diff --git a/engine/src/components/spriterender.cpp b/engine/src/components/spriterender.cpp index f5c6239bc..4b376ac96 100644 --- a/engine/src/components/spriterender.cpp +++ b/engine/src/components/spriterender.cpp @@ -38,6 +38,7 @@ SpriteRender::SpriteRender() : m_mesh(PipelineContext::defaultPlane()), m_customMesh(Engine::objectCreate()), m_drawMode(Simple), + m_priority(0), m_useCustom(false), m_dirtyMesh(true), m_dirtyMaterial(true) { diff --git a/worldeditor/src/screens/scenecomposer/actions/createcomponent.cpp b/worldeditor/src/screens/scenecomposer/actions/createcomponent.cpp index ecd31bffd..1805da356 100644 --- a/worldeditor/src/screens/scenecomposer/actions/createcomponent.cpp +++ b/worldeditor/src/screens/scenecomposer/actions/createcomponent.cpp @@ -6,13 +6,14 @@ CreateComponent::CreateComponent(const TString &type, Object *object, ObjectCont UndoCommand(QObject::tr("Create %1").arg(type.data()).toStdString(), group), m_type(type), m_controller(ctrl), - m_object(object->uuid()) { + m_object(object->uuid()), + m_component(0) { } void CreateComponent::undo() { - for(auto uuid : m_objects) { - Object *object = Engine::findObject(uuid); + if(m_component) { + Object *object = Engine::findObject(m_component); if(object) { delete object; @@ -28,7 +29,7 @@ void CreateComponent::redo() { Component *component = dynamic_cast(Engine::objectCreate(m_type, m_type, parent)); if(component) { component->composeComponent(); - m_objects.push_back(component->uuid()); + m_component = component->uuid(); emit m_controller->objectsSelected({Engine::findObject(m_object)}); } diff --git a/worldeditor/src/screens/scenecomposer/actions/createcomponent.h b/worldeditor/src/screens/scenecomposer/actions/createcomponent.h index 69de64d10..0d94d3f3d 100644 --- a/worldeditor/src/screens/scenecomposer/actions/createcomponent.h +++ b/worldeditor/src/screens/scenecomposer/actions/createcomponent.h @@ -10,12 +10,13 @@ class CreateComponent : public UndoCommand { void redo() override; protected: - std::list m_objects; + TString m_type; ObjectController *m_controller; uint32_t m_object; + uint32_t m_component; };