Related: tdf#142704 ReadStringHook may not be set in testing configurations

Change-Id: Iab2cd0cccb781a39af7b9315ccf8c242a2cc49a9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122438
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 53ab57a..3820515 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -21396,14 +21396,17 @@ private:
        }

#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])
        if (m_pStringReplace)
        {
            OUString aDesc(pDesc, strlen(pDesc), RTL_TEXTENCODING_UTF8);
            aDesc = (*m_pStringReplace)(aDesc);
            atk_object_set_description(pAtkObject, OUStringToOString(aDesc, RTL_TEXTENCODING_UTF8).getStr());
            // 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

@@ -21411,7 +21414,7 @@ private:
        if (GTK_IS_BUTTON(pWidget))
        {
            GtkButton* pButton = GTK_BUTTON(pWidget);
            if (m_pStringReplace != nullptr)
            if (m_pStringReplace)
            {
                OUString aLabel(get_label(pButton));
                if (!aLabel.isEmpty())
@@ -21424,7 +21427,7 @@ private:
        else if (GTK_IS_CHECK_BUTTON(pWidget))
        {
            GtkCheckButton* pButton = GTK_CHECK_BUTTON(pWidget);
            if (m_pStringReplace != nullptr)
            if (m_pStringReplace)
            {
                OUString aLabel(get_label(pButton));
                if (!aLabel.isEmpty())
@@ -21437,7 +21440,7 @@ private:
        else if (GTK_IS_LABEL(pWidget))
        {
            GtkLabel* pLabel = GTK_LABEL(pWidget);
            if (m_pStringReplace != nullptr)
            if (m_pStringReplace)
            {
                OUString aLabel(get_label(pLabel));
                if (!aLabel.isEmpty())
@@ -21449,7 +21452,7 @@ private:
        else if (GTK_IS_TEXT_VIEW(pWidget))
        {
            GtkTextView* pTextView = GTK_TEXT_VIEW(pWidget);
            if (m_pStringReplace != nullptr)
            if (m_pStringReplace)
            {
                GtkTextBuffer* pBuffer = gtk_text_view_get_buffer(pTextView);
                GtkTextIter start, end;
@@ -21467,7 +21470,8 @@ private:
        }
        else if (GTK_IS_WINDOW(pWidget))
        {
            if (m_pStringReplace != nullptr) {
            if (m_pStringReplace)
            {
                GtkWindow* pWindow = GTK_WINDOW(pWidget);
                set_title(pWindow, (*m_pStringReplace)(get_title(pWindow)));
                if (GTK_IS_MESSAGE_DIALOG(pWindow))