summaryrefslogtreecommitdiff
path: root/source/modules/asura-utils/io/io_task.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-04-03 21:56:51 +0800
committerchai <chaifix@163.com>2019-04-03 21:56:51 +0800
commite13616b5c40f912853be99f0603f0e4c97b22062 (patch)
tree6663eab986dbf0317f326bce863edc3d7bf3332e /source/modules/asura-utils/io/io_task.cpp
parentc8a6a8e2dd6f015a31b4f8191ad945a78fe77f3d (diff)
*misc
Diffstat (limited to 'source/modules/asura-utils/io/io_task.cpp')
-rw-r--r--source/modules/asura-utils/io/io_task.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/modules/asura-utils/io/io_task.cpp b/source/modules/asura-utils/io/io_task.cpp
index 5f0e1c8..ca03b09 100644
--- a/source/modules/asura-utils/io/io_task.cpp
+++ b/source/modules/asura-utils/io/io_task.cpp
@@ -15,10 +15,14 @@ namespace AsuraEngine
: mPath(path)
, mBuffer(buffer)
{
+ if (buffer)
+ buffer->Retain();
}
IOTask::~IOTask()
{
+ if (mBuffer)
+ mBuffer->Release();
}
bool IOTask::Execute()
@@ -31,6 +35,8 @@ namespace AsuraEngine
// pathȡݱmBuffer
else if (mType == IOTASK_TYPE_READ)
{
+ if (!mBuffer)
+ return false;
file.Open(File::FILE_MODE_READ);
file.ReadAll(mBuffer);
file.Close();