UIObjectView.st
changeset 132 8649766ce095
parent 131 715b3dbba87d
child 134 d5ab85ec27fd
--- a/UIObjectView.st	Tue May 27 11:16:45 1997 +0200
+++ b/UIObjectView.st	Tue May 27 15:16:55 1997 +0200
@@ -309,7 +309,20 @@
     "handle an expose event from device; redraw selection
     "
     super exposeX:x y:y width:w height:h.
-    self selectionDo:[:v | self showSelected:v]
+
+"
+catch expose events for all subviews associated with
+a selected instance
+"
+
+    self selectionDo:[:aComponent |
+        aComponent withAllSubViewsDo:[:v |
+            self sensor flushExposeEventsFor:v.
+            v exposeX:0 y:0 width:9999 height:9999.
+        ].
+
+        self showSelected:aComponent
+    ]
 
 !
 
@@ -876,7 +889,7 @@
 showSelected:aComponent
     "show object selected
     "
-    |wasClipped delta oldPaint|
+    |wasClipped delta|
 
     self paint:Color black.
 
@@ -892,13 +905,13 @@
     wasClipped ifTrue:[
         self clippedByChildren:(clipChildren := true).
     ].
-    self paint:oldPaint.
+
 !
 
 showUnselected:aComponent
     "show object unselected
     "
-    |wasClipped delta r oldPaint|
+    |wasClipped delta r|
 
     (wasClipped := clipChildren) ifTrue:[
         self clippedByChildren:(clipChildren := false). 
@@ -926,7 +939,7 @@
             (absFrame intersects:r) ifTrue:[
                 anotherComponent withAllSubViewsDo:[:v |
                     v shown ifTrue:[
-                        v clear.
+                        v fill:v viewBackground.
                         v exposeX:0 y:0 width:9999 height:9999.
                     ]
                 ]