can_insert = gtk_text_iter_can_insert (&iter, priv->editable);
priv->need_im_reset = TRUE;
- if (!can_insert)
+ if (can_insert)
gtk_text_view_reset_im_context (text_view);
}
return;
}
- gtk_text_view_reset_im_context (text_view);
-
if (step == GTK_MOVEMENT_PAGES)
{
if (!gtk_text_view_scroll_pages (text_view, count, extend_selection))
gtk_text_view_check_cursor_blink (text_view);
gtk_text_view_pend_cursor_blink (text_view);
+
+ priv->need_im_reset = TRUE;
+ gtk_text_view_reset_im_context (text_view);
}
static void
priv = text_view->priv;
- gtk_text_view_reset_im_context (text_view);
-
if (type == GTK_DELETE_CHARS)
{
/* Char delete deletes the selection, if one exists */
if (gtk_text_buffer_delete_selection (get_buffer (text_view), TRUE,
priv->editable))
- return;
+ {
+ priv->need_im_reset = TRUE;
+ gtk_text_view_reset_im_context (text_view);
+ return;
+ }
}
gtk_text_buffer_get_iter_at_mark (get_buffer (text_view), &insert,
{
gtk_widget_error_bell (GTK_WIDGET (text_view));
}
+
+ priv->need_im_reset = TRUE;
+ gtk_text_view_reset_im_context (text_view);
}
static void
priv = text_view->priv;
- gtk_text_view_reset_im_context (text_view);
-
/* Backspace deletes the selection, if one exists */
if (gtk_text_buffer_delete_selection (get_buffer (text_view), TRUE,
priv->editable))
- return;
+ {
+ priv->need_im_reset = TRUE;
+ gtk_text_view_reset_im_context (text_view);
+ return;
+ }
gtk_text_buffer_get_iter_at_mark (get_buffer (text_view),
&insert,
DV(g_print (G_STRLOC": scrolling onscreen\n"));
gtk_text_view_scroll_mark_onscreen (text_view,
gtk_text_buffer_get_insert (get_buffer (text_view)));
+
+ priv->need_im_reset = TRUE;
+ gtk_text_view_reset_im_context (text_view);
}
else
{