[Tizen] Destroy removal visuals after idler 23/300223/1
authorEunki, Hong <eunkiki.hong@samsung.com>
Thu, 19 Oct 2023 02:34:34 +0000 (11:34 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Thu, 19 Oct 2023 02:45:36 +0000 (11:45 +0900)
commit65a66e2a1d512363bef4f9f3af065eb27a17fcbc
treea5e9cdc35a413a7599b80d3769da16cfff7bda26
parent55b7245191c163fe8b2a0071d2971500f89792f1
[Tizen] Destroy removal visuals after idler

This is a combination of 3 commits.

Revert "[Tizen] Keep reference when member callback excute"

Keep reference when member callback excute + Make NPatchData as RefObject

Some CallbackBase didn't hold the reference of itself.
So it was possible to call destructor of itself during it's
API was running.

It might makes some unknown issues. So let we keep reference
for some issue-comes known APIs : SvgVisual, NPatchData, and lottie

It future, we should discard visuals rather than delate it directly.

Destroy removal visuals after idler

There was some bug when visual destructor called during
it's emit ResourceReady.

To avoid this case, Let we keep visuals more long term,
and Discard + Destroy after some idler called.

To avoid multiple Idler callback register,
let we make that idler callback in VisualFactory.

Change-Id: I4156f1af3cf40ffb30235dc9e6c55f9c7633f21d
19 files changed:
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-adaptor.cpp
automated-tests/src/dali-toolkit/utc-Dali-Slider.cpp
dali-scene3d/internal/controls/scene-view/scene-view-impl.cpp
dali-toolkit/devel-api/utility/npatch-helper.cpp
dali-toolkit/devel-api/utility/npatch-helper.h
dali-toolkit/devel-api/visual-factory/visual-factory.cpp
dali-toolkit/devel-api/visual-factory/visual-factory.h
dali-toolkit/internal/controls/control/control-data-impl.cpp
dali-toolkit/internal/visuals/animated-image/rolling-animated-image-cache.cpp
dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp
dali-toolkit/internal/visuals/npatch-data.cpp
dali-toolkit/internal/visuals/npatch-data.h
dali-toolkit/internal/visuals/npatch-loader.cpp
dali-toolkit/internal/visuals/npatch-loader.h
dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
dali-toolkit/internal/visuals/svg/svg-visual.cpp
dali-toolkit/internal/visuals/visual-factory-cache.cpp
dali-toolkit/internal/visuals/visual-factory-impl.cpp
dali-toolkit/internal/visuals/visual-factory-impl.h