Merge pull request #943 from ermshiperete/bug-novell-325669
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / XplatUIX11.cs
index 3500501dbe62e1de6e54b42334abcb73d416ee7b..c25124033921bcc71ee367c0f780916bdca36f83 100644 (file)
@@ -2749,9 +2749,14 @@ namespace System.Windows.Forms {
                        while (f != null) {
                                XConvertSelection(DisplayHandle, CLIPBOARD, (IntPtr)f.Id, (IntPtr)f.Id, FosterParent, IntPtr.Zero);
 
+                               var timeToWaitForSelectionFormats = TimeSpan.FromSeconds(4);
+                               var startTime = DateTime.Now;
                                Clipboard.Enumerating = true;
                                while (Clipboard.Enumerating) {
                                        UpdateMessageQueue(null, false);
+
+                                       if (DateTime.Now - startTime > timeToWaitForSelectionFormats)
+                                               break;
                                }
                                f = f.Next;
                        }