diff options
Diffstat (limited to 'source/modules/asura-utils/io/io_task.cpp')
-rw-r--r-- | source/modules/asura-utils/io/io_task.cpp | 6 |
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(); |