More linux and memory leak fixes

This commit is contained in:
Jack Andersen 2019-05-26 18:59:19 -10:00
parent fc7cffbf37
commit 28f96e91c2
13 changed files with 38 additions and 34 deletions

View File

@ -41,7 +41,7 @@
"url": "https://github.com/jackoalan/LibCommon", "url": "https://github.com/jackoalan/LibCommon",
"type": "git", "type": "git",
"head": "dew", "head": "dew",
"ref": "86c7e5a455a77bdee72cb8706630a5782a102257" "ref": "7d35c8ce1ee944a3430325ec733b550de48afa12"
}, },
{ {
"name": "lzo", "name": "lzo",

View File

@ -17,6 +17,7 @@ protected:
CCollisionRenderData mRenderData; CCollisionRenderData mRenderData;
public: public:
virtual ~CCollisionMesh() = default;
virtual void BuildRenderData(); virtual void BuildRenderData();
/** Accessors */ /** Accessors */

View File

@ -14,6 +14,7 @@ enum class EOBBTreeNodeType : uint8
struct SOBBTreeNode struct SOBBTreeNode
{ {
virtual ~SOBBTreeNode() = default;
CTransform4f Transform; CTransform4f Transform;
CVector3f Radii; CVector3f Radii;
EOBBTreeNodeType NodeType; EOBBTreeNodeType NodeType;

View File

@ -50,6 +50,8 @@ protected:
{} {}
public: public:
virtual ~CArrayProperty() { delete mpItemArchetype; }
virtual uint32 DataSize() const virtual uint32 DataSize() const
{ {
return sizeof(SScriptArray); return sizeof(SScriptArray);

View File

@ -352,13 +352,9 @@ public:
typedef PropType ValueType; typedef PropType ValueType;
protected: protected:
PropType mDefaultValue; PropType mDefaultValue = {};
TTypedProperty(EGame Game) TTypedProperty(EGame Game) : IProperty(Game) {}
: IProperty(Game)
{
memset(&mDefaultValue, 0, sizeof(PropType));
}
public: public:
virtual EPropertyType Type() const { return PropEnum; } virtual EPropertyType Type() const { return PropEnum; }

View File

@ -66,7 +66,7 @@ CScriptNode::CScriptNode(CScene *pScene, uint32 NodeID, CSceneNode *pParent, CSc
} }
// Fetch LightParameters // Fetch LightParameters
mpLightParameters = new CLightParameters(mpInstance->LightParameters(), mpInstance->GameTemplate()->Game()); mpLightParameters = std::make_unique<CLightParameters>(mpInstance->LightParameters(), mpInstance->GameTemplate()->Game());
SetLightLayerIndex(mpLightParameters->LightLayerIndex()); SetLightLayerIndex(mpLightParameters->LightLayerIndex());
} }

View File

@ -25,7 +25,7 @@ class CScriptNode : public CSceneNode
bool mHasVolumePreview; bool mHasVolumePreview;
CModelNode *mpVolumePreviewNode; CModelNode *mpVolumePreviewNode;
CLightParameters *mpLightParameters; std::unique_ptr<CLightParameters> mpLightParameters;
public: public:
enum class EGameModeVisibility enum class EGameModeVisibility

View File

@ -90,9 +90,9 @@ elseif (APPLE)
endforeach() endforeach()
set(PLAT_SRCS icons/mac/mainicon.icns ${RES_SOURCES} MacOSExtras.mm) set(PLAT_SRCS icons/mac/mainicon.icns ${RES_SOURCES} MacOSExtras.mm)
else() else()
configure_file(icons/freedesktop/metainfo/PrimeWorldEditor.appdata.xml.in configure_file(icons/freedesktop/metainfo/io.github.arukibree.PrimeWorldEditor.appdata.xml.in
"${CMAKE_CURRENT_BINARY_DIR}/PrimeWorldEditor.appdata.xml" @ONLY) "${CMAKE_CURRENT_BINARY_DIR}/io.github.arukibree.PrimeWorldEditor.appdata.xml" @ONLY)
#install(FILES "${CMAKE_CURRENT_BINARY_DIR}/PrimeWorldEditor.appdata.xml" DESTINATION share/metainfo) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/io.github.arukibree.PrimeWorldEditor.appdata.xml" DESTINATION share/metainfo)
install(DIRECTORY icons/freedesktop/applications icons/freedesktop/icons DESTINATION share) install(DIRECTORY icons/freedesktop/applications icons/freedesktop/icons DESTINATION share)
endif() endif()

View File

@ -301,7 +301,7 @@ void CResourceBrowser::CreateAddMenu()
mpAddMenu->addAction("New Folder", this, SLOT(CreateDirectory())); mpAddMenu->addAction("New Folder", this, SLOT(CreateDirectory()));
mpAddMenu->addSeparator(); mpAddMenu->addSeparator();
QMenu* pCreateMenu = new QMenu("Create..."); QMenu* pCreateMenu = new QMenu("Create...", mpAddMenu);
mpAddMenu->addMenu(pCreateMenu); mpAddMenu->addMenu(pCreateMenu);
AddCreateAssetMenuActions(pCreateMenu); AddCreateAssetMenuActions(pCreateMenu);

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright @CURRENT_YEAR@ Aruki -->
<component type="desktop-application">
<id>com.Aruki.PrimeWorldEditor</id>
<metadata_license>FSFAP</metadata_license>
<project_license>MIT</project_license>
<name>Prime World Editor</name>
<summary>Edit world assets from games by Retro Studios</summary>
<launchable type="desktop-id">PrimeWorldEditor.desktop</launchable>
<url type="homepage">http://github.com/arukibree/PrimeWorldEditor</url>
<provides>
<binary>PrimeWorldEditor</binary>
</provides>
<releases>
<release version="@pwe_editor_VERSION@" />
</releases>
</component>

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright @CURRENT_YEAR@ Aruki -->
<component type="desktop-application">
<id>io.github.arukibree.PrimeWorldEditor</id>
<metadata_license>FSFAP</metadata_license>
<project_license>MIT</project_license>
<name>Prime World Editor</name>
<summary>Edit world assets from games by Retro Studios</summary>
<description>
<p>Prime World Editor is a tool used to access and modify assets found in games by Retro Studios.</p>
</description>
<launchable type="desktop-id">io.github.arukibree.PrimeWorldEditor.desktop</launchable>
<url type="homepage">https://github.com/arukibree/PrimeWorldEditor</url>
<provides>
<binary>PrimeWorldEditor</binary>
</provides>
<releases>
<release version="@pwe_editor_VERSION@" />
</releases>
</component>