--- a/Notification.st Wed Aug 05 22:44:54 2015 +0100
+++ b/Notification.st Sun Aug 09 07:12:41 2015 +0100
@@ -131,13 +131,6 @@
"Modified: / 25.7.1999 / 23:12:19 / stefan"
! !
-!Notification class methodsFor:'misc ui support'!
-
-iconInBrowserSymbol
- <resource: #programImage>
-
- ^ #notificationClassBrowserIcon
-! !
!Notification class methodsFor:'queries'!
@@ -237,20 +230,24 @@
Invoking the handler is exactly the functionality of Signal>>raiseRequest,
but we can do it faster here (avoiding the construction of an exception instance)."
- |con signal|
+ |con signal ret|
con := Context findFirstSpecialHandle:true raise:false.
[con notNil] whileTrue:[
(con selector == #answer:do:) ifTrue:[
signal := con receiver.
signal == self ifTrue:[
- ^ con argAt:1
+ ret := con argAt:1.
+ con := nil.
+ ^ ret
].
signal isNil ifTrue:[
self error:'nil receiver in #answer:do: - send'.
].
(signal accepts:self) ifTrue:[
- ^ con argAt:1
+ ret := con argAt:1.
+ con := nil.
+ ^ ret
].
] ifFalse:[
"ask the the receiver of the #handle:do: or #on:do: or whatever- message for the handler.
@@ -263,6 +260,7 @@
) ifTrue:[
"there is another handler block, maybe it will return the answer.
Call it via raiseRequest"
+ con := nil.
^ super raiseRequest
].
].
@@ -375,11 +373,11 @@
!Notification class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Notification.st,v 1.35 2015-03-11 10:27:53 sr Exp $'
+ ^ '$Header$'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Notification.st,v 1.35 2015-03-11 10:27:53 sr Exp $'
+ ^ '$Header$'
! !