checkes for lost-view bug
authorClaus Gittinger <cg@exept.de>
Wed, 02 Apr 1997 20:10:39 +0200
changeset 1515 2bf89d832d58
parent 1514 7c2a921ae46b
child 1516 0e42b4c18cf1
checkes for lost-view bug
DevWorkst.st
DeviceWorkstation.st
--- a/DevWorkst.st	Wed Apr 02 15:50:26 1997 +0200
+++ b/DevWorkst.st	Wed Apr 02 20:10:39 1997 +0200
@@ -4777,7 +4777,12 @@
     ] ifFalse:[
         freeIdx := knownViews identityIndexOf:nil.
         freeIdx == 0 ifTrue:[
-            freeIdx := knownViews identityIndexOf:0
+            freeIdx := knownViews identityIndexOf:0.
+            [freeIdx ~~ 0 
+             and:[(knownIds at:freeIdx) notNil]] whileTrue:[
+                'XXX ' print. (knownIds at:freeIdx) displayString printCR.
+                freeIdx := knownViews identityIndexOf:0 startingAt:(freeIdx + 1).
+            ].
         ].
     ].
 
@@ -4805,7 +4810,26 @@
 "/        self startDispatch
 "/    ].
 
-    "Modified: 1.3.1997 / 20:00:08 / cg"
+    "Modified: 2.4.1997 / 19:15:46 / cg"
+!
+
+checkKnownViewId:drawableId
+    |idx|
+
+    idx := idToTableIndexMapping at:drawableId ifAbsent:0.
+    idx == 0 ifTrue:[
+        idx := knownIds indexOf:drawableId
+    ].
+    idx ~~ 0 ifTrue:[
+        (knownViews at:idx) ~~ 0 ifTrue:[
+            'drawable ' print. drawableId displayString print.
+            ' still known as ' print.
+            (knownViews at:idx) printCR
+        ]
+    ].
+
+    "Created: 2.4.1997 / 19:04:27 / cg"
+    "Modified: 2.4.1997 / 19:49:15 / cg"
 !
 
 removeKnownView:aView withId:aViewId
@@ -4894,38 +4918,6 @@
     "Modified: 27.3.1997 / 17:13:28 / cg"
 !
 
-update:something with:aParameter from:changedObject
-    "this is obsolete - it will be removed"
-
-    |id|
-
-    "/ no longer called for ...
-    "/
-    something == knownViews ifTrue:[
-        "
-         some view was garbage-collected;
-         destroy it ...
-        "
-        1 to:knownViews size do:[:idx |
-            |v|
-
-            ((v := knownViews at:idx) isNil 
-            or:[v == 0]) ifTrue:[
-                id := knownIds at:idx.
-                id notNil ifTrue:[
-                    idToTableIndexMapping notNil ifTrue:[
-                        idToTableIndexMapping removeKey:id.
-                    ].
-                    knownIds at:idx put:nil.
-                ].
-            ]
-        ].
-    ]
-
-    "Created: 21.6.1996 / 19:21:16 / cg"
-    "Modified: 1.3.1997 / 19:59:32 / cg"
-!
-
 viewFromId:aWindowID
     "given an Id, return the corresponding view."
 
@@ -5237,6 +5229,6 @@
 !DeviceWorkstation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/Attic/DevWorkst.st,v 1.195 1997-03-28 15:15:33 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/Attic/DevWorkst.st,v 1.196 1997-04-02 18:10:39 cg Exp $'
 ! !
 DeviceWorkstation initialize!
--- a/DeviceWorkstation.st	Wed Apr 02 15:50:26 1997 +0200
+++ b/DeviceWorkstation.st	Wed Apr 02 20:10:39 1997 +0200
@@ -4777,7 +4777,12 @@
     ] ifFalse:[
         freeIdx := knownViews identityIndexOf:nil.
         freeIdx == 0 ifTrue:[
-            freeIdx := knownViews identityIndexOf:0
+            freeIdx := knownViews identityIndexOf:0.
+            [freeIdx ~~ 0 
+             and:[(knownIds at:freeIdx) notNil]] whileTrue:[
+                'XXX ' print. (knownIds at:freeIdx) displayString printCR.
+                freeIdx := knownViews identityIndexOf:0 startingAt:(freeIdx + 1).
+            ].
         ].
     ].
 
@@ -4805,7 +4810,26 @@
 "/        self startDispatch
 "/    ].
 
-    "Modified: 1.3.1997 / 20:00:08 / cg"
+    "Modified: 2.4.1997 / 19:15:46 / cg"
+!
+
+checkKnownViewId:drawableId
+    |idx|
+
+    idx := idToTableIndexMapping at:drawableId ifAbsent:0.
+    idx == 0 ifTrue:[
+        idx := knownIds indexOf:drawableId
+    ].
+    idx ~~ 0 ifTrue:[
+        (knownViews at:idx) ~~ 0 ifTrue:[
+            'drawable ' print. drawableId displayString print.
+            ' still known as ' print.
+            (knownViews at:idx) printCR
+        ]
+    ].
+
+    "Created: 2.4.1997 / 19:04:27 / cg"
+    "Modified: 2.4.1997 / 19:49:15 / cg"
 !
 
 removeKnownView:aView withId:aViewId
@@ -4894,38 +4918,6 @@
     "Modified: 27.3.1997 / 17:13:28 / cg"
 !
 
-update:something with:aParameter from:changedObject
-    "this is obsolete - it will be removed"
-
-    |id|
-
-    "/ no longer called for ...
-    "/
-    something == knownViews ifTrue:[
-        "
-         some view was garbage-collected;
-         destroy it ...
-        "
-        1 to:knownViews size do:[:idx |
-            |v|
-
-            ((v := knownViews at:idx) isNil 
-            or:[v == 0]) ifTrue:[
-                id := knownIds at:idx.
-                id notNil ifTrue:[
-                    idToTableIndexMapping notNil ifTrue:[
-                        idToTableIndexMapping removeKey:id.
-                    ].
-                    knownIds at:idx put:nil.
-                ].
-            ]
-        ].
-    ]
-
-    "Created: 21.6.1996 / 19:21:16 / cg"
-    "Modified: 1.3.1997 / 19:59:32 / cg"
-!
-
 viewFromId:aWindowID
     "given an Id, return the corresponding view."
 
@@ -5237,6 +5229,6 @@
 !DeviceWorkstation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.195 1997-03-28 15:15:33 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.196 1997-04-02 18:10:39 cg Exp $'
 ! !
 DeviceWorkstation initialize!