From 9089f4e7b13ce601f354b5d040dfc96c3d00bd6b Mon Sep 17 00:00:00 2001 From: Youngsun Suh Date: Wed, 16 Oct 2024 16:46:03 +0900 Subject: [PATCH] Associate DefaultLabel with actor Change-Id: I788b743b719555f30a82d943764b134b3924024c --- .../common/nui-view-accessible.cpp | 10 +++++----- .../dali-toolkit/control-devel-wrap.cpp | 20 ++----------------- 2 files changed, 7 insertions(+), 23 deletions(-) diff --git a/dali-csharp-binder/common/nui-view-accessible.cpp b/dali-csharp-binder/common/nui-view-accessible.cpp index 1385e470..3560ad4c 100644 --- a/dali-csharp-binder/common/nui-view-accessible.cpp +++ b/dali-csharp-binder/common/nui-view-accessible.cpp @@ -745,18 +745,18 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Accessibility_DetachAccessibleObject(Dal // Call detach only if accessible was created before. if(DevelControl::IsAccessibleCreated(control)) { - auto actorAccessible = Dali::Accessibility::Accessible::GetOwningPtr(control); - auto viewAccessible = std::dynamic_pointer_cast(actorAccessible); + auto actorAccessible = Dali::Accessibility::Accessible::Get(control); + auto viewAccessible = dynamic_cast(actorAccessible); if(viewAccessible) { viewAccessible->Detach(); - - // In case someone forgot View.UnregisterDefaultLabel() before View.Dispose()... - Dali::Accessibility::Bridge::GetCurrentBridge()->UnregisterDefaultLabel(viewAccessible); } } + // In case someone forgot View.UnregisterDefaultLabel() before View.Dispose()... + Dali::Accessibility::Bridge::GetCurrentBridge()->UnregisterDefaultLabel(control); + // Make that we will not create new NUIViewAccessible anymore. DevelControl::EnableCreateAccessible(control, false); } diff --git a/dali-csharp-binder/dali-toolkit/control-devel-wrap.cpp b/dali-csharp-binder/dali-toolkit/control-devel-wrap.cpp index 0cb578ce..e44ee4a2 100644 --- a/dali-csharp-binder/dali-toolkit/control-devel-wrap.cpp +++ b/dali-csharp-binder/dali-toolkit/control-devel-wrap.cpp @@ -503,16 +503,8 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Accessibility_Bridge_RegisterDefaultLabe GUARD_ON_NULL_RET(arg1_actor); try_catch(([&]() { Dali::Actor* actor = (Dali::Actor*)arg1_actor; - auto accessible = Dali::Accessibility::Accessible::GetOwningPtr(*actor); auto bridge = Dali::Accessibility::Bridge::GetCurrentBridge(); - - if(!accessible) - { - SWIG_CSharpException(SWIG_RuntimeError, "No accessible object bind with actor."); - return; - } - - bridge->RegisterDefaultLabel(accessible); + bridge->RegisterDefaultLabel(*actor); })); } @@ -521,16 +513,8 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Accessibility_Bridge_UnregisterDefaultLa GUARD_ON_NULL_RET(arg1_actor); try_catch(([&]() { Dali::Actor* actor = (Dali::Actor*)arg1_actor; - auto accessible = Dali::Accessibility::Accessible::GetOwningPtr(*actor); auto bridge = Dali::Accessibility::Bridge::GetCurrentBridge(); - - if(!accessible) - { - SWIG_CSharpException(SWIG_RuntimeError, "No accessible object bind with actor."); - return; - } - - bridge->UnregisterDefaultLabel(accessible); + bridge->UnregisterDefaultLabel(*actor); })); } -- 2.34.1