he, no... I was too optimistic, that solves just part of the problem, not completely :( Now I'm debugging to try figure out what's happening... once I get it, I will provide a test :)
Cheers, Esteban
El 15/01/2011, a las 10:41a.m., Tudor Girba escribió:
Excellent catch, Esteban!
I know about this problem since half a year, but I could not figure out where the problem was.
I opened a ticket: http://code.google.com/p/moose-technology/issues/detail?id=492
Before integrating the fix, could you provide a test case that fails with the current implementation?
Cheers, Doru
On 15 Jan 2011, at 14:29, Esteban Lorenzano wrote:
Hi, I noticed that in some complex updating between panels, using an external announcer, some of the update subscriptions were not removed when the browser is closed. I debugged a little and I founded that this implementation:
GLMUpdateAction>>unregisterFromAllAnnouncements announcerObjects ifNotNil: [ announcerObjects do: [:each | each unsubscribe: self ] ]
is bugged, because if announcerObjects are not previously computed (and in some cases that's what happens), the subscription is not removed. This implementation (just using the accessor instead the direct object), solves the problem (but I don't know is it's a right fix, and it should be a fix in other place)
GLMUpdateAction>>unregisterFromAllAnnouncements self announcerObjects ifNotNil: [ :objects | objects do: [:each | each unsubscribe: self ] ]
Cheers, Esteban _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"In a world where everything is moving ever faster, one might have better chances to win by moving slower."
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev