diff --git a/apps/openmw/mwworld/containerstore.cpp b/apps/openmw/mwworld/containerstore.cpp index d73fb7dc19..552a5c2388 100644 --- a/apps/openmw/mwworld/containerstore.cpp +++ b/apps/openmw/mwworld/containerstore.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include "../mwbase/environment.hpp" #include "../mwbase/world.hpp" diff --git a/apps/openmw/mwworld/refdata.cpp b/apps/openmw/mwworld/refdata.cpp index b3515c838f..87bae97cc3 100644 --- a/apps/openmw/mwworld/refdata.cpp +++ b/apps/openmw/mwworld/refdata.cpp @@ -1,6 +1,7 @@ #include "refdata.hpp" #include +#include #include "customdata.hpp" #include "cellstore.hpp" @@ -140,12 +141,12 @@ namespace MWWorld {} } - RefData::RefData(RefData&& other) noexcept = default; - RefData& RefData::operator=(RefData&& other) noexcept = default; + RefData::RefData(RefData&& other) = default; + RefData& RefData::operator=(RefData&& other) = default; - void RefData::setBaseNode(SceneUtil::PositionAttitudeTransform *base) + void RefData::setBaseNode(osg::ref_ptr base) { - mBaseNode = base; + mBaseNode = std::move(base); } SceneUtil::PositionAttitudeTransform* RefData::getBaseNode() diff --git a/apps/openmw/mwworld/refdata.hpp b/apps/openmw/mwworld/refdata.hpp index 5c94dbcacf..5174973d6d 100644 --- a/apps/openmw/mwworld/refdata.hpp +++ b/apps/openmw/mwworld/refdata.hpp @@ -7,6 +7,8 @@ #include "../mwscript/locals.hpp" #include "../mwworld/customdata.hpp" +#include + #include #include @@ -34,7 +36,7 @@ namespace MWWorld class RefData { - SceneUtil::PositionAttitudeTransform* mBaseNode; + osg::ref_ptr mBaseNode; MWScript::Locals mLocals; std::shared_ptr mLuaScripts; @@ -78,7 +80,7 @@ namespace MWWorld /// perform these operations). RefData (const RefData& refData); - RefData (RefData&& other) noexcept; + RefData (RefData&& other); ~RefData(); @@ -87,7 +89,7 @@ namespace MWWorld /// perform this operations). RefData& operator= (const RefData& refData); - RefData& operator= (RefData&& other) noexcept; + RefData& operator= (RefData&& other); /// Return base node (can be a null pointer). SceneUtil::PositionAttitudeTransform* getBaseNode(); @@ -96,7 +98,7 @@ namespace MWWorld const SceneUtil::PositionAttitudeTransform* getBaseNode() const; /// Set base node (can be a null pointer). - void setBaseNode (SceneUtil::PositionAttitudeTransform* base); + void setBaseNode(osg::ref_ptr base); int getCount(bool absolute = true) const;