oh... :(
well... need to keep looking then
Cheers,
Esteban
El 16/01/2011, a las 6:48p.m., Tudor Girba escribió:
Johan, thanks for reporting.
Esteban, the problem is related to 492, but it does not appear to be the same because the
problem still fails in the case of Mondrian. I added a test for this:
GLMMondrianMorphicTest>>testUnregisterFromAnnouncementsWhenUpdating
The test fails both with and without your fixes. Funny enough, when having a text or list
presentation it works as expected even with and without the fixes:
GLMTextMorphicTest>>testUnregisterFromAnnouncementsWhenUpdating
I also added the unregistration in GLMCompositePresentation>>clear because this is
what gets called when we replace the presentations in a pane, but it still does not solve
the problem.
It would be so great if I would get another pair of eyes on this problem. I hope that
these problems will go away when we will have Weak Announcements. Actually, does anyone
want to help with those?
Cheers,
Doru
On 16 Jan 2011, at 20:31, Esteban Lorenzano wrote:
Hi,
yes... that would be the #492 issue (updates not being unsubscribe and for that,
re-executed every time)
Cheers,
Esteban
El 16/01/2011, a las 3:59p.m., Johan Fabry escribió:
Hi Doru, all
I am having a problem with the Mondrian panel in AspectMaps using an updateOn:from:. (See
code below for details of the glamour script) I saw that on each update the update
progressively gets slower. About double the time to be exact. I added some debugging code
to the visualization to check this and ... on each update the mondrian drawing is painted
double the amount of time than before: 1, 2, 4, 8, ... Poking around in the debugger shows
the old pane is indeed not removed from the subscriptions list leading to doubling the
amount of panes in the list on each refresh.
I suppose there is a simple fix for this so if you could fix it I would very much
appreciate it! :-)
mondrianPaneOn: browser
|num|
num :=0.
browser transmit to: #mpanel; from: #models; andShow: [:a |
a mondrian
painting: [:view :model |
Transcript show: '+'.
model isNil ifFalse: [ <DO THE PAINTING>]].
Transcript show: num; cr. num := num + 1];
updateOn: AMModelChanged from: [:ent | self announcer ];
allowNil ].
--
Johan Fabry
jfabry(a)dcc.uchile.cl -
http://dcc.uchile.cl/~jfabry
PLEIAD Lab - Computer Science Department (DCC) - University of Chile
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Problem solving efficiency grows with the abstractness level of problem
understanding."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev