summaryrefslogtreecommitdiff
path: root/source/modules/asura-utils/io/file_data.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/modules/asura-utils/io/file_data.cpp')
-rw-r--r--source/modules/asura-utils/io/file_data.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/source/modules/asura-utils/io/file_data.cpp b/source/modules/asura-utils/io/file_data.cpp
index 92333cf..ad58db9 100644
--- a/source/modules/asura-utils/io/file_data.cpp
+++ b/source/modules/asura-utils/io/file_data.cpp
@@ -21,6 +21,8 @@ namespace AsuraEngine
FileData::~FileData()
{
+ if (mData)
+ mData->Release();
}
const std::string& FileData::GetFileName()
@@ -40,7 +42,12 @@ namespace AsuraEngine
void FileData::BindData(ASURA_MOVE DataBuffer* buffer)
{
+ if (!buffer)
+ return;
+ if (mData)
+ mData->Release();
mData = buffer;
+ mData->Retain();
}
DataBuffer* FileData::GetDataBuffer()
@@ -49,4 +56,4 @@ namespace AsuraEngine
}
}
-}
+} \ No newline at end of file