c05ad7e
From a6827c3787f3056444586979750f97d3e963f6f2 Mon Sep 17 00:00:00 2001
c05ad7e
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
c05ad7e
Date: Mon, 24 Jan 2022 20:09:49 +0000
c05ad7e
Subject: [PATCH] tdf#146971 changing a11y desc to replace %PRODUCTNAME has
c05ad7e
 perf issues
c05ad7e
c05ad7e
so leave it alone, and do the conversion just for the originally
c05ad7e
report situation as a safely backportable change with a follow up
c05ad7e
to not allow us to get into this situation in the first place
c05ad7e
c05ad7e
Change-Id: I4f95f85791d0f937e53d7541804870b2cbf62b44
c05ad7e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128821
c05ad7e
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
c05ad7e
Tested-by: Jenkins
c05ad7e
---
c05ad7e
 vcl/unx/gtk3/gtkinst.cxx | 22 +++++++++-------------
c05ad7e
 1 file changed, 9 insertions(+), 13 deletions(-)
c05ad7e
c05ad7e
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
c05ad7e
index 94184ca3db42..aa5b0685aa21 100644
c05ad7e
--- a/vcl/unx/gtk3/gtkinst.cxx
c05ad7e
+++ b/vcl/unx/gtk3/gtkinst.cxx
c05ad7e
@@ -21349,7 +21349,15 @@ namespace {
c05ad7e
             const char* pDesc = pAtkObject ? atk_object_get_description(pAtkObject) : nullptr;
c05ad7e
             if (pDesc && pDesc[0])
c05ad7e
             {
c05ad7e
-                gtk_tooltip_set_text(tooltip, pDesc);
c05ad7e
+                if (ResHookProc pStringReplace = Translate::GetReadStringHook())
c05ad7e
+                {
c05ad7e
+                    // tdf#142704 %PRODUCTNAME shown in extended tips
c05ad7e
+                    OUString aDesc(pDesc, strlen(pDesc), RTL_TEXTENCODING_UTF8);
c05ad7e
+                    aDesc = (*pStringReplace)(aDesc);
c05ad7e
+                    gtk_tooltip_set_text(tooltip, OUStringToOString(aDesc, RTL_TEXTENCODING_UTF8).getStr());
c05ad7e
+                }
c05ad7e
+                else
c05ad7e
+                    gtk_tooltip_set_text(tooltip, pDesc);
c05ad7e
                 return true;
c05ad7e
             }
c05ad7e
 #endif
c05ad7e
@@ -21670,18 +21678,6 @@ private:
c05ad7e
                 aTooltip = (*m_pStringReplace)(aTooltip);
c05ad7e
                 gtk_widget_set_tooltip_text(pWidget, OUStringToOString(aTooltip, RTL_TEXTENCODING_UTF8).getStr());
c05ad7e
             }
c05ad7e
-
c05ad7e
-#if !GTK_CHECK_VERSION(4, 0, 0)
c05ad7e
-            // tdf#142704 %PRODUCTNAME shown in extended tips
c05ad7e
-            AtkObject* pAtkObject = gtk_widget_get_accessible(pWidget);
c05ad7e
-            const char* pDesc = pAtkObject ? atk_object_get_description(pAtkObject) : nullptr;
c05ad7e
-            if (pDesc && pDesc[0])
c05ad7e
-            {
c05ad7e
-                OUString aDesc(pDesc, strlen(pDesc), RTL_TEXTENCODING_UTF8);
c05ad7e
-                aDesc = (*m_pStringReplace)(aDesc);
c05ad7e
-                atk_object_set_description(pAtkObject, OUStringToOString(aDesc, RTL_TEXTENCODING_UTF8).getStr());
c05ad7e
-            }
c05ad7e
-#endif
c05ad7e
         }
c05ad7e
 
c05ad7e
         // expand placeholder and collect potentially missing mnemonics
c05ad7e
-- 
c05ad7e
2.33.1
c05ad7e