diff options
-rw-r--r-- | vcl/unx/gtk/gtksalframe.cxx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx index ad4b00d26927..3f99b8c30d3d 100644 --- a/vcl/unx/gtk/gtksalframe.cxx +++ b/vcl/unx/gtk/gtksalframe.cxx @@ -3559,8 +3559,14 @@ void GtkSalFrame::IMHandler::signalIMPreeditChanged( GtkIMContext*, gpointer im_ ExtTextInputAttr sal_attr = ExtTextInputAttr::NONE; pango_attr_iterator_range (iter, &start, &end); - if (end == G_MAXINT) - end = pText ? g_utf8_strlen(pText, -1) : 0; + if (start == G_MAXINT || end == G_MAXINT) + { + auto len = pText ? g_utf8_strlen(pText, -1) : 0; + if (end == G_MAXINT) + end = len; + if (start == G_MAXINT) + start = len; + } if (end == start) continue; |