SimpleView.st
changeset 5273 9c8813e5b7a1
parent 5271 228c32bcdd37
child 5283 1ed049b57dc0
--- a/SimpleView.st	Mon Jun 01 08:59:22 2009 +0200
+++ b/SimpleView.st	Mon Jun 01 09:41:56 2009 +0200
@@ -8498,29 +8498,29 @@
     "only useful with modal views: hide the view and return control
      back to the suspended main view. Ignored for non-modal views."
 
+    "/ cg - now obsolete; redefined in topView.
     |masterGroup|
 
     realized ifFalse:[^ self].
-    windowGroup isNil ifTrue:[^ self].
-    windowGroup isModal ifFalse:[^ self].
-    masterGroup := windowGroup previousGroup.
-
-    windowGroup notNil ifTrue:[windowGroup focusView:nil].
+    (windowGroup notNil and:[windowGroup isModal]) ifTrue:[
+        masterGroup := windowGroup previousGroup.
+        windowGroup focusView:nil.
+    ].
 
     self unmap.
     device flush.
 
     masterGroup notNil ifTrue:[
-	"
-	 this is a kludge for IRIS and others which do not provide backingstore:
-	 when we hide a modalbox (such as a searchbox) which covered
-	 a scrollbar, the scrollbars bitblt-method will copy from the
-	 not-yet redrawn area - effectively clearing the scroller.
-	 We need a short delay here, since at this time, the expose event has
-	 not yet arrived.
-	"
-	Delay waitForSeconds:0.05.
-	masterGroup processExposeEvents
+        "
+         this is a kludge for IRIS and others which do not provide backingstore:
+         when we hide a modalbox (such as a searchbox) which covered
+         a scrollbar, the scrollbars bitblt-method will copy from the
+         not-yet redrawn area - effectively clearing the scroller.
+         We need a short delay here, since at this time, the expose event has
+         not yet arrived.
+        "
+        Delay waitForSeconds:0.05.
+        masterGroup processExposeEvents
     ].
 
 "/    WindowGroup leaveSignal raise.
@@ -9956,13 +9956,15 @@
 
     |masterGroup activeGroup|
 
+    activeGroup := WindowGroup activeGroup.
+
     "/ cg - because we raise that window, we should avoid to raise the main-non-modal view, 
     "/ if a dialog is opend from another modal view (confirmation in a modal-box)
 
-"/    mainGroup := WindowGroup activeGroup.
+"/    mainGroup := activeGroup.
 "/    mainGroup notNil ifTrue:[mainGroup := mainGroup mainGroup].
 
-"/    masterGroup := activeGroup := WindowGroup activeGroup.
+"/    masterGroup := activeGroup.
 "/    [masterGroup notNil and:[masterGroup isPopUp or:[masterGroup isModal]]] whileTrue:[
 "/        masterGroup := masterGroup previousGroup.
 "/   ].
@@ -10064,10 +10066,10 @@
         "
         AbortOperationRequest handle:[:ex |
             AbortOperationRequest handle:[:ex2 |
-self halt.
+                "/ an aborted hide (user confirmation ?)
+                self breakPoint:#cg.
                 ex proceed
             ] do:[
-self halt.
                 self hide.
                 ex proceed
             ].
@@ -10390,7 +10392,7 @@
 !SimpleView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/SimpleView.st,v 1.627 2009-06-01 06:44:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/SimpleView.st,v 1.628 2009-06-01 07:41:56 cg Exp $'
 ! !
 
 SimpleView initialize!