MenuPanel.st
changeset 1211 e675ff419dc1
parent 1199 73c48a823430
child 1212 9bd3220c9964
--- a/MenuPanel.st	Mon Feb 22 00:48:27 1999 +0100
+++ b/MenuPanel.st	Mon Feb 22 20:13:45 1999 +0100
@@ -515,35 +515,40 @@
     |value item tgState itemIdx recv|
 
     self superMenu notNil ifTrue:[
-	^ self topMenu accept:anItem
+        ^ self topMenu accept:anItem
     ].
     lastButtonSelected := nil.
     self selection:nil.
     self forceUngrabMouseAndKeyboard.
 
     (anItem notNil and:[anItem canAccept]) ifTrue:[
-	tgState := anItem toggleIndication.
-	itemIdx := anItem menuPanel findFirst:[:el| el == anItem ].
-	item    := anItem.
-	recv    := anItem menuPanel receiver.
+        tgState := anItem toggleIndication.
+        itemIdx := anItem menuPanel findFirst:[:el| el == anItem ].
+        item    := anItem.
+        recv    := anItem menuPanel receiver.
     ].
 
     self isPopUpView ifFalse:[
-	self do:[:el| el updateIndicators].
-	self windowGroup processExposeEvents.
+        self do:[:el| el updateIndicators].
+        self windowGroup processExposeEvents.
     ] ifTrue:[
-	self destroy
+        self unmap.
+        "/ give expose event a chance to arrive
+        [shown] whileTrue:[
+            self windowGroup processExposeEventsFor:self
+        ].
+        self destroy.
     ].
     value := self accept:item index:itemIdx toggle:tgState receiver:recv.
 
     self isPopUpView ifTrue:[
-	self menuAdornmentAt:#value put:value.
-	self menuAdornmentAt:#item  put:item.
+        self menuAdornmentAt:#value put:value.
+        self menuAdornmentAt:#item  put:item.
     ].
 
   ^ item.
 
-    "Modified: / 14.8.1998 / 16:10:02 / cg"
+    "Modified: / 18.2.1999 / 22:15:25 / cg"
 !
 
 accept:anItem index:anIndex toggle:aState receiver:aReceiver
@@ -5300,6 +5305,6 @@
 !MenuPanel class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/MenuPanel.st,v 1.134 1999-02-13 14:41:04 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/MenuPanel.st,v 1.135 1999-02-22 19:13:45 cg Exp $'
 ! !
 MenuPanel initialize!