Ensure AnimatedVectorImageVisual doesn't hang app 62/246462/1
authorDavid Steele <david.steele@samsung.com>
Thu, 29 Oct 2020 16:58:41 +0000 (16:58 +0000)
committerDavid Steele <david.steele@samsung.com>
Thu, 29 Oct 2020 17:04:42 +0000 (17:04 +0000)
commit9e11db9825d7e131d085b54113ee7654d43314df
treea66c9b43e81c3b16727acc889097ea5d480d12fb
parent831928584e87195281be93749c376498fe223030
Ensure AnimatedVectorImageVisual doesn't hang app

Currently, if the AnimatedVectorImageVisual is not destroyed
on Application::Terminate, e.g. if it's actor is kept alive,
then the shutdown order is undefined, and may end up
trying to pend on a mutex which has already been destroyed,
in the dali-extension plugin.

(TizenVectorAnimationManager, which creates the mutex, is a
singleton that is created when first needed, but stays alive
until main() completes)

Prevented the destructor from finalizing in the plugin if
core has already been shutdown.

Change-Id: I9fe547eab4dc3f3e5a4655f5c8dcf96bf664d7e3
dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp
dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h
dali-toolkit/internal/visuals/animated-vector-image/vector-animation-manager.cpp
dali-toolkit/internal/visuals/animated-vector-image/vector-animation-manager.h