diff options
Diffstat (limited to 'src/gui.c')
-rw-r--r-- | src/gui.c | 20 |
1 files changed, 19 insertions, 1 deletions
@@ -958,7 +958,13 @@ gui_update_cursor(force, clear_selection) static int iid; guicolor_T fg, bg; - if (im_get_status()) + if ( +# ifdef HAVE_GTK2 + preedit_get_status() +# else + im_get_status() +# endif + ) { iid = syn_name2id((char_u *)"CursorIM"); if (iid > 0) @@ -5124,6 +5130,16 @@ gui_handle_drop(x, y, modifiers, fnames, count) { int i; char_u *p; + static int entered = FALSE; + + /* + * This function is called by event handlers. Just in case we get a + * second event before the first one is handled, ignore the second one. + * Not sure if this can ever happen, just in case. + */ + if (entered) + return; + entered = TRUE; /* * When the cursor is at the command line, add the file names to the @@ -5207,5 +5223,7 @@ gui_handle_drop(x, y, modifiers, fnames, count) gui_update_cursor(FALSE, FALSE); gui_mch_flush(); } + + entered = FALSE; } #endif |