updated for version 7.0177
diff --git a/src/ui.c b/src/ui.c
index c48af4e..ba5911f 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -469,9 +469,9 @@
#ifdef FEAT_X11
if (cbd == &clip_star)
{
- /* May have to show a different kind of highlighting for the selected
- * area. There is no specific redraw command for this, just redraw
- * all windows on the current buffer. */
+ /* May have to show a different kind of highlighting for the
+ * selected area. There is no specific redraw command for this,
+ * just redraw all windows on the current buffer. */
if (cbd->owned
&& get_real_state() == VISUAL
&& clip_isautosel()
@@ -2130,6 +2130,10 @@
{
if (XCheckTypedEvent(dpy, SelectionNotify, &event))
break;
+ if (XCheckTypedEvent(dpy, SelectionRequest, &event))
+ /* We may get a SelectionRequest here and if we don't handle
+ * it we hang. KDE klipper does this, for example. */
+ XtDispatchEvent(&event);
/* Do we need this? Probably not. */
XSync(dpy, False);