projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(Vector) Fix invalid callback issue
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
visuals
/
animated-vector-image
/
vector-animation-task.cpp
diff --git
a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp
b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp
index
6d4b2ef
..
b1e9bea
100644
(file)
--- a/
dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp
+++ b/
dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp
@@
-106,10
+106,12
@@
void VectorAnimationTask::Finalize()
if(mAnimationFinishedCallback)
{
mVectorAnimationThread.RemoveEventTriggerCallback(mAnimationFinishedCallback.get());
if(mAnimationFinishedCallback)
{
mVectorAnimationThread.RemoveEventTriggerCallback(mAnimationFinishedCallback.get());
+ mAnimationFinishedCallback.reset();
}
if(mLoadCompletedCallback)
{
mVectorAnimationThread.RemoveEventTriggerCallback(mLoadCompletedCallback.get());
}
if(mLoadCompletedCallback)
{
mVectorAnimationThread.RemoveEventTriggerCallback(mLoadCompletedCallback.get());
+ mLoadCompletedCallback.reset();
}
mVectorRenderer.Finalize();
}
mVectorRenderer.Finalize();
@@
-139,7
+141,7
@@
bool VectorAnimationTask::Load(bool synchronousLoading)
DALI_LOG_ERROR("VectorAnimationTask::Load: Load failed [%s]\n", mUrl.c_str());
mLoadRequest = false;
mLoadFailed = true;
DALI_LOG_ERROR("VectorAnimationTask::Load: Load failed [%s]\n", mUrl.c_str());
mLoadRequest = false;
mLoadFailed = true;
- if(!synchronousLoading)
+ if(!synchronousLoading
&& mLoadCompletedCallback
)
{
mVectorAnimationThread.AddEventTriggerCallback(mLoadCompletedCallback.get());
}
{
mVectorAnimationThread.AddEventTriggerCallback(mLoadCompletedCallback.get());
}
@@
-154,7
+156,7
@@
bool VectorAnimationTask::Load(bool synchronousLoading)
mFrameDurationMicroSeconds = MICROSECONDS_PER_SECOND / mFrameRate;
mLoadRequest = false;
mFrameDurationMicroSeconds = MICROSECONDS_PER_SECOND / mFrameRate;
mLoadRequest = false;
- if(!synchronousLoading)
+ if(!synchronousLoading
&& mLoadCompletedCallback
)
{
mVectorAnimationThread.AddEventTriggerCallback(mLoadCompletedCallback.get());
}
{
mVectorAnimationThread.AddEventTriggerCallback(mLoadCompletedCallback.get());
}