[Seaside-dev] Issue with #removeDecoration:

John Thornborrow john at pinesoft.co.uk
Thu May 29 16:50:33 UTC 2008


Changeing #removeDecoration to the below seems to have fixed it.. not 
extensively tested (nor is it particularly elegant.)

Would this cause any issues that anyone can think of? (note the use of 
#respondsTo:)

removeDecoration: aDecoration
	| dec |
	dec := self decoration.
	dec = aDecoration ifTrue:
		[self decoration: dec owner.
		^ self].

	[dec notNil and: [dec respondsTo: #owner]] whileTrue:
		[dec owner = aDecoration
			ifTrue: [dec owner: aDecoration owner.  ^ self]
			ifFalse: [dec := dec owner]]

John Thornborrow wrote:
> Hi,
> 
> One of my apps is very rarely having issues when answering.
> 
> The message is "MessageNotUnderstood: MyComponentOrTask>>owner in: 
> OtherMyComponentOrTask(WAComponent)>>removeDecoration:
> 
> Unfortunately, no matter how hard I try, I cannot reproduce this error.. 
> however I have stepped through the debugger when it does happen, and I 
> have noticed that the chain of decorations has, what I believe to be, an 
> incorrect value - and that is one of the WADecoration has the iVar value 
> for "next" as a WAValueHolder, and not a WAAnswerHandler as the others are.
> 
> Is this a known issue, or would you like me to investigate further? (My 
> knowledge on this area of Seaside is absolutely miminal..)
> 
> Many thanks,
> John
> 

-- 
John Thornborrow
http://www.pinesoft.co.uk


******************************************************************************************************************************************
This email is from Pinesoft Limited. Its contents are confidential to the intended recipient(s) at the email address(es) to which it has been addressed. It may not be disclosed to or used by anyone other than the addressee(s), nor may it be copied in anyway. If received in error, please contact the sender, then delete it from your system. Although this email and attachments are believed to be free of virus, or any other defect which might affect any computer or IT system into which they are received and opened, it is the responsibility of the recipient to ensure that they are virus free and no responsibility is accepted by Pinesoft for any loss or damage arising in any way from receipt or use thereof. *******************************************************************************************************************************************


Pinesoft Limited are registered in England, Registered number: 2914825. Registered office: 266-268 High Street, Waltham Cross, Herts, EN8 7EA


More information about the seaside-dev mailing list