vcl/unx/gtk3/gtkinst.cxx |   22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

New commits:
commit fb90ac4c621457786f64da4a69e515ea92fa30f3
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Jan 24 20:09:49 2022 +0000
Commit:     Adolfo Jayme Barrientos <fit...@ubuntu.com>
CommitDate: Tue Jan 25 19:09:40 2022 +0100

    tdf#146971 changing a11y desc to replace %PRODUCTNAME has perf issues
    
    so leave it alone, and do the conversion just for the originally
    report situation as a safely backportable change with a follow up
    to not allow us to get into this situation in the first place
    
    Change-Id: I4f95f85791d0f937e53d7541804870b2cbf62b44
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128820
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>
    (cherry picked from commit 4723360671758c3ac9e646382751d01b630a95d0)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128825
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com>
    Tested-by: Adolfo Jayme Barrientos <fit...@ubuntu.com>

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index f5f1498443dc..8db5257711c5 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -21926,7 +21926,15 @@ namespace {
             const char* pDesc = pAtkObject ? 
atk_object_get_description(pAtkObject) : nullptr;
             if (pDesc && pDesc[0])
             {
-                gtk_tooltip_set_text(tooltip, pDesc);
+                if (ResHookProc pStringReplace = 
Translate::GetReadStringHook())
+                {
+                    // tdf#142704 %PRODUCTNAME shown in extended tips
+                    OUString aDesc(pDesc, strlen(pDesc), 
RTL_TEXTENCODING_UTF8);
+                    aDesc = (*pStringReplace)(aDesc);
+                    gtk_tooltip_set_text(tooltip, OUStringToOString(aDesc, 
RTL_TEXTENCODING_UTF8).getStr());
+                }
+                else
+                    gtk_tooltip_set_text(tooltip, pDesc);
                 return true;
             }
 #endif
@@ -22484,18 +22492,6 @@ private:
                 aTooltip = (*m_pStringReplace)(aTooltip);
                 gtk_widget_set_tooltip_text(pWidget, 
OUStringToOString(aTooltip, RTL_TEXTENCODING_UTF8).getStr());
             }
-
-#if !GTK_CHECK_VERSION(4, 0, 0)
-            // tdf#142704 %PRODUCTNAME shown in extended tips
-            AtkObject* pAtkObject = gtk_widget_get_accessible(pWidget);
-            const char* pDesc = pAtkObject ? 
atk_object_get_description(pAtkObject) : nullptr;
-            if (pDesc && pDesc[0])
-            {
-                OUString aDesc(pDesc, strlen(pDesc), RTL_TEXTENCODING_UTF8);
-                aDesc = (*m_pStringReplace)(aDesc);
-                atk_object_set_description(pAtkObject, 
OUStringToOString(aDesc, RTL_TEXTENCODING_UTF8).getStr());
-            }
-#endif
         }
 
         // expand placeholder and collect potentially missing mnemonics

Reply via email to