[ATSPI] make NotifyAccessibilityStateChange work 74/266774/3
authorShinwoo Kim <cinoo.kim@samsung.com>
Thu, 18 Nov 2021 11:25:03 +0000 (20:25 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Fri, 19 Nov 2021 10:37:08 +0000 (19:37 +0900)
The NotifyAccessibilityStateChange did not work correctly.
Because "currentState.size()" return 2 always.
And following line set newValue to 1 always.

  data->mBridge->EmitStateChanged(this, index, 1, 0);

The NotifyAccessibilityStateChange was totally incorrect.

Change-Id: If897084dc5b12b1c92711ef752187cc82fd7b01b

dali/internal/accessibility/bridge/accessible.cpp

index 9cd65a3..d5459d1 100644 (file)
@@ -237,13 +237,12 @@ void Accessible::NotifyAccessibilityStateChange(Dali::Accessibility::States stat
 {
   if(auto data = GetBridgeData())
   {
-    auto currentState = GetStates() & states;
-    for(auto i = 0u; i < currentState.size(); i++)
+    for(auto i = 0u; i < static_cast<unsigned int>(Dali::Accessibility::State::MAX_COUNT); i++)
     {
       auto index = static_cast<Dali::Accessibility::State>(i);
-      if(currentState[index])
+      if(states[index])
       {
-        data->mBridge->EmitStateChanged(this, index, 1, 0);
+        data->mBridge->EmitStateChanged(this, index, GetStates()[index], 0);
       }
     }