endObjectMove - send expose to all - workaround drawing
authorca
Mon, 03 Dec 2007 12:25:20 +0100
changeset 2205 0582767018d7
parent 2204 bde4a7ef693a
child 2206 1a7921b6c104
endObjectMove - send expose to all - workaround drawing
UIObjectView.st
--- a/UIObjectView.st	Mon Dec 03 10:57:40 2007 +0100
+++ b/UIObjectView.st	Mon Dec 03 12:25:20 2007 +0100
@@ -771,17 +771,28 @@
 
 endObjectMove
     "cleanup after object(s) move
+     send expose to each view - workaround....
     "
-    movedObject notNil ifTrue:[
-	self invertOutlineOf:movedObject.
-
-	movedObject size == 1 ifTrue:[
-	    movedObject := movedObject first
-	].
-	self setSelection:movedObject withRedraw:true.
-	movedObject := nil.
-	self setDefaultActions.
-	self layoutChanged.
+    |newSel|
+
+    movedObject isNil ifTrue:[^ self].
+
+    movedObject size == 1 ifTrue:[ newSel := movedObject first ]
+                         ifFalse:[ newSel := movedObject ].
+    movedObject := nil.
+
+    self withSelectionHiddenDo:[
+        self setSelection:newSel withRedraw:false.
+
+        self allSubViewsDo:[:v|
+            v shown ifTrue:[
+                v fill:v viewBackground.
+                v exposeX:0 y:0 width:v width height:v height.
+            ].
+        ].
+
+        self setDefaultActions.
+        self layoutChanged.
     ].
 !