summaryrefslogtreecommitdiff
path: root/src/misc1.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-08-30 22:00:20 +0200
committerBram Moolenaar <Bram@vim.org>2017-08-30 22:00:20 +0200
commit5c6dbcb03fa552d7b0e61c8fcf425147eb6bf7d5 (patch)
tree13f37aa604997567c63b0e5786ee2625282d8d4b /src/misc1.c
parent4e83961985abb78757b135f29ac4ffde675247af (diff)
downloadvim-git-5c6dbcb03fa552d7b0e61c8fcf425147eb6bf7d5.tar.gz
patch 8.0.1026: GTK on-the-spot input has problemsv8.0.1026
Problem: GTK on-the-spot input has problems. (Gerd Wachsmuth) Solution: Support over-the-spot. (Yukihiro Nakadaira, Ketn Takata, closes #1215)
Diffstat (limited to 'src/misc1.c')
-rw-r--r--src/misc1.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/misc1.c b/src/misc1.c
index b0589cf5b..abc455e95 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -2730,12 +2730,15 @@ skip_to_option_part(char_u *p)
changed(void)
{
#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
- /* The text of the preediting area is inserted, but this doesn't
- * mean a change of the buffer yet. That is delayed until the
- * text is committed. (this means preedit becomes empty) */
- if (im_is_preediting() && !xim_changed_while_preediting)
- return;
- xim_changed_while_preediting = FALSE;
+ if (p_imst == IM_ON_THE_SPOT)
+ {
+ /* The text of the preediting area is inserted, but this doesn't
+ * mean a change of the buffer yet. That is delayed until the
+ * text is committed. (this means preedit becomes empty) */
+ if (im_is_preediting() && !xim_changed_while_preediting)
+ return;
+ xim_changed_while_preediting = FALSE;
+ }
#endif
if (!curbuf->b_changed)