From 2485f0b8740f6f1ad68f389b11293a2be2e0d1d4 Mon Sep 17 00:00:00 2001 From: Seoyeon Kim Date: Fri, 18 Dec 2020 15:28:23 +0900 Subject: [PATCH] [Tizen] Make AccessibilityInfo to member variable - Currently, AccessibilityInfo gets values as a local variable. So, the values is sent with a garbage value. - To solve this problem, move AccessibilityInfo to member variable. Change-Id: I626bfbdf034474869d98f43c0b2567e9ec348744 Signed-off-by: Seoyeon Kim --- dali/internal/window-system/common/event-handler.cpp | 7 +++++-- dali/internal/window-system/common/window-base.cpp | 3 ++- dali/internal/window-system/common/window-base.h | 1 + .../tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp | 14 ++++++-------- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/dali/internal/window-system/common/event-handler.cpp b/dali/internal/window-system/common/event-handler.cpp index 8bdec19..9c28aad 100755 --- a/dali/internal/window-system/common/event-handler.cpp +++ b/dali/internal/window-system/common/event-handler.cpp @@ -560,8 +560,11 @@ void EventHandler::OnAccessibilityQuickpanelChanged( const unsigned char& info ) else { DALI_LOG_INFO( gSelectionEventLogFilter, Debug::General, "OnAccessibilityQuickpanelChanged: Nothing shows -> EnableAccessibility \n" ); - // dali app should be enabled. - accessibilityAdaptor->EnableAccessibility(); + if( !accessibilityAdaptor->IsForcedEnable() ) + { + // dali app should be enabled. + accessibilityAdaptor->EnableAccessibility(); + } } #endif diff --git a/dali/internal/window-system/common/window-base.cpp b/dali/internal/window-system/common/window-base.cpp index 22bcb56..ca3db49 100644 --- a/dali/internal/window-system/common/window-base.cpp +++ b/dali/internal/window-system/common/window-base.cpp @@ -43,7 +43,8 @@ WindowBase::WindowBase() mAccessibilitySignal(), mTransitionEffectEventSignal(), mKeyboardRepeatSettingsChangedSignal(), - mQuickPanelSignal() + mQuickPanelSignal(), + mAccessibilityInfo() { } diff --git a/dali/internal/window-system/common/window-base.h b/dali/internal/window-system/common/window-base.h index 46eefd2..6dc03bd 100644 --- a/dali/internal/window-system/common/window-base.h +++ b/dali/internal/window-system/common/window-base.h @@ -476,6 +476,7 @@ protected: KeyboardRepeatSettingsChangedSignalType mKeyboardRepeatSettingsChangedSignal; WindowRedrawRequestSignalType mWindowRedrawRequestSignal; QuickPanelSignalType mQuickPanelSignal; + AccessibilityInfo mAccessibilityInfo; }; } // namespace Adaptor diff --git a/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp b/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp index e307f22..e5ff6cd 100755 --- a/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp +++ b/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp @@ -1317,22 +1317,20 @@ void WindowBaseEcoreWl2::OnFontSizeChanged() void WindowBaseEcoreWl2::OnEcoreElDBusAccessibilityNotification( void* context, const Eldbus_Message* message ) { #ifdef DALI_ELDBUS_AVAILABLE - AccessibilityInfo info; // The string defines the arg-list's respective types. - if( !eldbus_message_arguments_get( message, "iiiiiiu", &info.gestureValue, &info.startX, &info.startY, &info.endX, &info.endY, &info.state, &info.eventTime ) ) + if( !eldbus_message_arguments_get( message, "iiiiiiu", &mAccessibilityInfo.gestureValue, &mAccessibilityInfo.startX, &mAccessibilityInfo.startY, &mAccessibilityInfo.endX, &mAccessibilityInfo.endY, &mAccessibilityInfo.state, &mAccessibilityInfo.eventTime ) ) { DALI_LOG_ERROR( "OnEcoreElDBusAccessibilityNotification: Error getting arguments\n" ); } - mAccessibilitySignal.Emit( info ); + mAccessibilitySignal.Emit( mAccessibilityInfo ); #endif } void WindowBaseEcoreWl2::OnEcoreElDBusAccessibilityQuickpanelChanged( void* context, const Eldbus_Message* message ) { #ifdef DALI_ELDBUS_AVAILABLE - AccessibilityInfo info; unsigned int type = 0; // For example, type 1 is QuickPanel, type 3 is AllApps unsigned int state = 0; // 0 is hidden, 1 is shown @@ -1343,16 +1341,16 @@ void WindowBaseEcoreWl2::OnEcoreElDBusAccessibilityQuickpanelChanged( void* cont DALI_LOG_ERROR( "OnEcoreElDBusAccessibilityQuickpanelChanged: Error getting arguments\n" ); } - if( state == 1 ) // Shown + if( state ) // Shown { - info.quickpanelInfo |= 1 << type; + mAccessibilityInfo.quickpanelInfo |= 1 << type; } else // Hidden { - info.quickpanelInfo &= ~( 1 << type ); + mAccessibilityInfo.quickpanelInfo &= ~( 1 << type ); } - mQuickPanelSignal.Emit( info.quickpanelInfo ); + mQuickPanelSignal.Emit( mAccessibilityInfo.quickpanelInfo ); #endif } -- 2.7.4