Guard NPatchData removal case during signal emit 67/297967/5
authorEunki, Hong <eunkiki.hong@samsung.com>
Tue, 29 Aug 2023 06:52:47 +0000 (15:52 +0900)
committerEunki Hong <eunkiki.hong@samsung.com>
Mon, 4 Sep 2023 06:00:43 +0000 (06:00 +0000)
commit11c59a90d2751eedeb979707864580682ad9179f
treebda2cf8e98ee55de14d3ab4c1bc8b1eb58b4184f
parent4dec2735f5e5b5ed74f70a402c9a008d6c21af05
Guard NPatchData removal case during signal emit

It was possible that NPatchData removed during NotifyObserver.
For more safety, let we make NPatchData as shared_ptr, instead
of unique_ptr.

And also, let we don't touch observer list container during
NotifyObservers.

And also, let we remove NPatchInfo at post processing.
It will keep the life of NPatchData during NotifyObserver try to
remove the NPatchInfo.

Change-Id: Ieca33a2231df38d23966f96593506d67333cfcd0
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
automated-tests/src/dali-toolkit/utc-Dali-ImageView.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