diff options
author | Bram Moolenaar <Bram@vim.org> | 2008-01-06 14:17:07 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2008-01-06 14:17:07 +0000 |
commit | 51b5ab97290dd6e7a0c2633e5245361a79a9a5c9 (patch) | |
tree | a33076a85a82aa5ea34dde9c2e890da3dc2e7611 /src/gui_gtk_x11.c | |
parent | afbdeb852fe6b29455466bf2f8aa9a3807a751a5 (diff) |
updated for version 7.1-209v7.1.209
Diffstat (limited to 'src/gui_gtk_x11.c')
-rw-r--r-- | src/gui_gtk_x11.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 3235f40d56..207e33eb38 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -6660,6 +6660,7 @@ clip_mch_request_selection(VimClipboard *cbd) unsigned i; int nbytes; char_u *buffer; + time_t start; for (i = 0; i < N_SELECTION_TARGETS; ++i) { @@ -6670,7 +6671,11 @@ clip_mch_request_selection(VimClipboard *cbd) cbd->gtk_sel_atom, target, (guint32)GDK_CURRENT_TIME); - while (received_selection == RS_NONE) + /* Hack: Wait up to three seconds for the selection. A hang was + * noticed here when using the netrw plugin combined with ":gui" + * during the FocusGained event. */ + start = time(NULL); + while (received_selection == RS_NONE && time(NULL) < start + 3) gtk_main(); /* wait for selection_received_cb */ if (received_selection != RS_FAIL) |