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);