SubCanvas.st
changeset 6177 0add67404b2a
parent 5908 56d1ccc9de01
--- a/SubCanvas.st	Mon Oct 21 09:57:14 2019 +0200
+++ b/SubCanvas.st	Wed Oct 30 03:52:39 2019 +0100
@@ -291,7 +291,8 @@
 rebuild
     "rebuild my GUI from the spec."
 
-    |subSpec subWindowSpec savedView savedBuilder builderClass hasHScroller hasVScroller sameAppAsTopApp|
+    |subSpec subWindowSpec savedView savedBuilder 
+     builderClass hasHScroller hasVScroller sameAppAsTopApp mustRemap|
 
     "/ if the superView is not yet created,
     "/ we MUST delay building... (sigh)
@@ -299,9 +300,12 @@
         lateBuild := true.
         ^ self
     ].
+    mustRemap := false.
 
     clientView notNil ifTrue:[
         clientView destroySubViews.
+        "/ clientView unmap.
+        "/ mustRemap := true.
     ].
 
     spec notNil ifTrue:[
@@ -435,6 +439,11 @@
         ].
 
         self realized ifTrue:[
+            mustRemap ifTrue:[
+                clientView notNil ifTrue:[
+                    clientView realize.
+                ].
+            ].
             "/ cg: I think we should call
             "/      clientView recursiveRealizeAllSubViews.
             "/ instead of: 
@@ -445,6 +454,7 @@
                 scrolledView repositionScrolledView.
                 scrolledView resizeScrolledView
             ].
+
             "/ mhm - it is opened freshly
             "/ if not called here, we'd loose this message 
             "/ (my appSubView sends this when it gets realized)