release channels on destroy
authorClaus Gittinger <cg@exept.de>
Fri, 14 Nov 1997 16:04:43 +0100
changeset 1399 a3dd97770d99
parent 1398 234ee5e96495
child 1400 056494ffbda0
release channels on destroy
EditField.st
--- a/EditField.st	Fri Nov 14 15:37:43 1997 +0100
+++ b/EditField.st	Fri Nov 14 16:04:43 1997 +0100
@@ -1073,9 +1073,9 @@
 
     prev := enableChannel.
     enableChannel := aValueHolder.
-    self setupChannel:aValueHolder for:#enableStateChange withOld:prev
+    self setupChannel:aValueHolder for:nil withOld:prev
 
-    "Modified: / 31.10.1997 / 14:46:18 / cg"
+    "Modified: / 14.11.1997 / 13:52:44 / cg"
 ! !
 
 !EditField methodsFor:'accessing-contents'!
@@ -1279,6 +1279,18 @@
     "Modified: 16.12.1995 / 16:24:33 / cg"
 ! !
 
+!EditField methodsFor:'change & update'!
+
+update:something with:aParameter from:changedObject
+    changedObject == enableChannel ifTrue:[
+        self enableStateChange.
+        ^ self
+    ].
+    super update:something with:aParameter from:changedObject
+
+    "Created: / 14.11.1997 / 13:52:31 / cg"
+! !
+
 !EditField methodsFor:'cursor drawing'!
 
 drawFromVisibleLine:startVisLineNr to:endVisLineNr with:fg and:bg
@@ -1640,6 +1652,17 @@
 
 !EditField methodsFor:'initialization'!
 
+destroy
+    enableChannel notNil ifTrue:[
+        enableChannel removeDependent:self.
+        enableChannel := nil.
+    ].
+    super destroy
+
+    "Created: / 14.11.1997 / 13:53:50 / cg"
+    "Modified: / 14.11.1997 / 13:58:49 / cg"
+!
+
 editMenu
     "return a popUpMenu for the receiver"
 
@@ -1937,5 +1960,5 @@
 !EditField class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/EditField.st,v 1.98 1997-11-02 17:33:23 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/EditField.st,v 1.99 1997-11-14 15:04:43 cg Exp $'
 ! !