diff --git a/modules/input/imwayland.c b/modules/input/imwayland.c index 7e781cb9870ff111e932dc75128c174e37bcfb1c..96ffbae82c1425d50583a6d0069cc8f02251aa0d 100644 --- a/modules/input/imwayland.c +++ b/modules/input/imwayland.c @@ -488,6 +488,9 @@ gtk_im_context_wayland_get_preedit_string (GtkIMContext *context, GtkIMContextWayland *context_wayland = GTK_IM_CONTEXT_WAYLAND (context); gchar *preedit_str; + if (attrs) + *attrs = NULL; + GTK_IM_CONTEXT_CLASS (parent_class)->get_preedit_string (context, str, attrs, cursor_pos); /* If the parent implementation returns a len>0 string, go with it */ @@ -509,7 +512,8 @@ gtk_im_context_wayland_get_preedit_string (GtkIMContext *context, if (attrs) { - *attrs = pango_attr_list_new (); + if (!*attrs) + *attrs = pango_attr_list_new (); pango_attr_list_insert (*attrs, pango_attr_underline_new (PANGO_UNDERLINE_SINGLE)); }