PopUpView.st
changeset 2579 774e6fb33dde
parent 2574 ab434bf2439e
child 2831 62b8abcdf5f2
--- a/PopUpView.st	Fri Apr 23 19:04:48 1999 +0200
+++ b/PopUpView.st	Fri Apr 23 19:39:48 1999 +0200
@@ -279,7 +279,10 @@
 hide
     "hide the view, leave its modal event loop"
 
+    |masterGroup|
+
     windowGroup notNil ifTrue:[
+        masterGroup := windowGroup previousGroup.
         windowGroup removeView:self.
         windowGroup := nil.
     ].
@@ -289,7 +292,19 @@
     "/ (actually, only req'd for win32 systems,
     "/  but that short delay does not hurt on others)
 
-    Delay waitForSeconds:0.05.
+"/    Delay waitForSeconds:0.05.
+    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   
+    ].
 
     "Modified: / 3.5.1996 / 23:48:22 / stefan"
     "Modified: / 12.9.1998 / 14:58:33 / cg"
@@ -351,5 +366,5 @@
 !PopUpView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/PopUpView.st,v 1.39 1999-04-23 14:49:35 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/PopUpView.st,v 1.40 1999-04-23 17:39:28 cg Exp $'
 ! !