UIPainterView.st
changeset 2560 efad0ef440c7
parent 2537 12e3b32befe4
child 2582 f34eb91780f4
--- a/UIPainterView.st	Wed Jun 10 18:26:53 2009 +0200
+++ b/UIPainterView.st	Wed Jun 10 19:31:23 2009 +0200
@@ -384,7 +384,7 @@
      if given a single spec, returns that view (sigh - a stupid bw-compatibility kludge)"
 
     |sensor specsToPaste pasteOffset builder newSel 
-     bounds containerToPasteInto pastePoint beforeIndex|
+     bounds containerToPasteInto pastePoint beforeIndex count|
 
     treeView askForSelectionChangeAllowed ifFalse:[^ nil].
 
@@ -524,9 +524,12 @@
     self elementChangedSize:containerToPasteInto.
 
     "/ because the new-created view will destroy the handles, when it redraws itself,
-    "/ give it a chance to do so, before we return.
-    [ (newSel conform:[:v | v shown]) ] whileFalse:[
+    "/ give it a chance to do so, before we return. (bail out after half a second, in case of trouble)
+    count := 0.
+    [ (newSel conform:[:v | v shown]) or:[count > 50] ] whileFalse:[
+        self windowGroup repairDamage.
         Delay waitForSeconds:0.01.
+        count := count+1.
     ].
     Delay waitForSeconds:0.01.
     self windowGroup repairDamage.