summaryrefslogtreecommitdiffstats
path: root/src/gui_gtk_x11.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2008-01-06 14:17:07 +0000
committerBram Moolenaar <Bram@vim.org>2008-01-06 14:17:07 +0000
commit51b5ab97290dd6e7a0c2633e5245361a79a9a5c9 (patch)
treea33076a85a82aa5ea34dde9c2e890da3dc2e7611 /src/gui_gtk_x11.c
parentafbdeb852fe6b29455466bf2f8aa9a3807a751a5 (diff)
updated for version 7.1-209v7.1.209
Diffstat (limited to 'src/gui_gtk_x11.c')
-rw-r--r--src/gui_gtk_x11.c7
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)