tdf#138932 don't replace . with , for gtk password GtkEntries too

Change-Id: I26e9f878791a4349d065bb8603862919ff4b9e85
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107766
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 5a7c39a..6abc74d 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -2117,8 +2117,14 @@ private:
        // #i1820# use locale specific decimal separator
        if (pEvent->keyval == GDK_KEY_KP_Decimal && Application::GetSettings().GetMiscSettings().GetEnableLocalizedDecimalSep())
        {
            OUString aSep(Application::GetSettings().GetLocaleDataWrapper().getNumDecimalSep());
            pEvent->keyval = aSep[0];
            GtkWindow* pFocusWin = get_focus_window();
            GtkWidget* pFocus = pFocusWin ? gtk_window_get_focus(pFocusWin) : nullptr;
            // tdf#138932 except if the target is a GtkEntry used for passwords
            if (!pFocus || !GTK_IS_ENTRY(pFocus) || gtk_entry_get_visibility(GTK_ENTRY(pFocus)))
            {
                OUString aSep(Application::GetSettings().GetLocaleDataWrapper().getNumDecimalSep());
                pEvent->keyval = aSep[0];
            }
        }

        GtkInstanceWidget* pThis = static_cast<GtkInstanceWidget*>(widget);