diff src/ui.c @ 620:9e359e5759f6 v7.0177

updated for version 7.0177
author vimboss
date Wed, 28 Dec 2005 22:39:57 +0000
parents f1d46f948241
children 2392a6da4aa4
line wrap: on
line diff
--- a/src/ui.c
+++ b/src/ui.c
@@ -469,9 +469,9 @@ clip_own_selection(cbd)
 #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 @@ clip_x11_request_selection(myShell, dpy,
 	{
 	    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);