From: Eunki, Hong Date: Wed, 3 Jul 2024 11:43:55 +0000 (+0900) Subject: [Tizen] Print log if worker thread destruction occured for UI items. X-Git-Tag: accepted/tizen/8.0/unified/20240709.165318 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Ftags%2Faccepted%2Ftizen%2F8.0%2Funified%2F20240709.165318;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [Tizen] Print log if worker thread destruction occured for UI items. Change-Id: I99c765781dece4d4314c68ae3123eebef4b0392f Signed-off-by: Eunki, Hong --- diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Visuals-internal.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Visuals-internal.cpp index 77b2d14..cd698fd 100644 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Visuals-internal.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Visuals-internal.cpp @@ -297,6 +297,7 @@ int UtcDaliArcVisualCreateInstancePropertyMap(void) END_TEST; } + int UtcDaliVisualUpdateBrokenImageRenderer(void) { ToolkitTestApplication application; @@ -340,3 +341,21 @@ int UtcDaliVisualUpdateBrokenImageRenderer(void) END_TEST; } + +int UtcDaliVisualCreateWithoutCoreN(void) +{ + // DO NOT USE Application for this UTC. + tet_infoline("UtcDaliVisualCreateWithoutCore Test, for line coverage"); + + //Created DummyVisual + Property::Map settings; + Toolkit::Internal::DummyVisualPtr dummyVisualPtr = Toolkit::Internal::DummyVisual::New(settings); + Toolkit::Visual::Base visualBaseHandle = Toolkit::Visual::Base(dummyVisualPtr.Get()); + + visualBaseHandle.Reset(); + + // Always success + DALI_TEST_CHECK(true); + + END_TEST; +} diff --git a/dali-toolkit/internal/visuals/visual-base-impl.cpp b/dali-toolkit/internal/visuals/visual-base-impl.cpp index 3d8e79e..9b722a2 100644 --- a/dali-toolkit/internal/visuals/visual-base-impl.cpp +++ b/dali-toolkit/internal/visuals/visual-base-impl.cpp @@ -20,6 +20,7 @@ // EXTERNAL HEADER #include +#include #include #include #include @@ -159,10 +160,18 @@ Visual::Base::Base(VisualFactoryCache& factoryCache, FittingMode fittingMode, To : mImpl(new Impl(fittingMode, type)), mFactoryCache(factoryCache) { + if(DALI_UNLIKELY(!Dali::Stage::IsCoreThread())) + { + DALI_LOG_ERROR("Visual::Base[%p] called from non-UI thread! something unknown issue will be happened!\n", this); + } } Visual::Base::~Base() { + if(DALI_UNLIKELY(!Dali::Stage::IsCoreThread())) + { + DALI_LOG_ERROR("Visual::~Base[%p] called from non-UI thread! something unknown issue will be happened!\n", this); + } delete mImpl; }