From: Hosang Kim Date: Tue, 29 Jun 2021 10:47:07 +0000 (+0900) Subject: libaurum: apply cache clear when element is updated. X-Git-Tag: submit/tizen/20210706.064323~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F86%2F260586%2F2;p=platform%2Fcore%2Fuifw%2Faurum.git libaurum: apply cache clear when element is updated. Change-Id: Iac3a6c2811ac36237456b55792e634103f4f9b8d --- diff --git a/libaurum/inc/Impl/Accessibility/AtspiWrapper.h b/libaurum/inc/Impl/Accessibility/AtspiWrapper.h index beac01a..0bebabc 100644 --- a/libaurum/inc/Impl/Accessibility/AtspiWrapper.h +++ b/libaurum/inc/Impl/Accessibility/AtspiWrapper.h @@ -26,10 +26,11 @@ public: static gboolean Atspi_editable_text_delete_text(AtspiEditableText*, int start, int end, GError **error); static gboolean Atspi_editable_text_insert_text(AtspiEditableText*, int pos, const gchar *text, int len, GError **error); static AtspiAccessible* Atspi_accessible_get_application (AtspiAccessible *node, GError **error); + static void Atspi_accessible_clear_cache (AtspiAccessible *node); static void lock(); static void unlock(); private: static std::recursive_mutex mMutex; //static std::unique_lock mLock; -}; \ No newline at end of file +}; diff --git a/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc b/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc index a918fd6..c9d7259 100644 --- a/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc +++ b/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc @@ -155,6 +155,9 @@ void* AtspiAccessibleNode::getRawHandler(void) const void AtspiAccessibleNode::refresh() { AtspiWrapper::lock(); + + AtspiWrapper::Atspi_accessible_clear_cache(mNode); + if (isValid()) { gchar *rolename = AtspiWrapper::Atspi_accessible_get_role_name(mNode, NULL); if (rolename) { diff --git a/libaurum/src/Impl/Accessibility/AtspiWrapper.cc b/libaurum/src/Impl/Accessibility/AtspiWrapper.cc index 308b9af..69e47c6 100644 --- a/libaurum/src/Impl/Accessibility/AtspiWrapper.cc +++ b/libaurum/src/Impl/Accessibility/AtspiWrapper.cc @@ -135,6 +135,11 @@ AtspiAccessible* AtspiWrapper::Atspi_accessible_get_application (AtspiAccessible return atspi_accessible_get_application(node, error); } +void AtspiWrapper::Atspi_accessible_clear_cache (AtspiAccessible *node) +{ + std::unique_lock lock(mMutex); + return atspi_accessible_clear_cache(node); +} void AtspiWrapper::lock() { mMutex.lock();