Unverified Commit 9ea263d0 authored by Martin Weismann's avatar Martin Weismann Committed by GitHub
Browse files

Fix CComponent::GetObjectResource

A raw pointer to an object was converted into a shared pointer and
stored as member of an object instance. Eventually, the object was
deleted twice. This behaviour has been resolved.
Showing with 10 additions and 4 deletions
+10 -4
......@@ -54,8 +54,9 @@ namespace NMR {
CModelComponent(_In_ CModelObject * pObject, _In_ const NMATRIX3 mTransform);
~CModelComponent();
CModelObject * getObject ();
CModelObject * getObject();
CModel * getModel();
NMATRIX3 getTransform ();
void setTransform(_In_ const NMATRIX3 mTransform);
......
......@@ -49,9 +49,9 @@ CComponent::CComponent(NMR::PModelComponent pComponent)
}
IObject * CComponent::GetObjectResource ()
IObject * CComponent::GetObjectResource()
{
NMR::PModelObject pModelObject(m_pComponent->getObject());
NMR::PModelResource pModelObject = m_pComponent->getModel()->findResource(m_pComponent->getObjectID());
if (!pModelObject.get())
throw ELib3MFInterfaceException(LIB3MF_ERROR_INVALIDMODELRESOURCE);
......
......@@ -66,6 +66,11 @@ namespace NMR {
return m_pObject;
}
CModel* CModelComponent::getModel()
{
return m_pObject->getModel();
}
NMATRIX3 CModelComponent::getTransform()
{
return m_mTransform;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment