i think there is some mistake in event wiring..
i cannot tell much, because i don't understand the glamour models..
but what i found strange is that i get large pause before i got halt in
actOnMatchingPresentationsChanged:
it looks like the same event goes twice (or there two kinds of events)
and you model tries to update the detal list bypassing (or in addition) to the
#actOnMatchingPresentationsChanged:
To reproduce my observations try do following:
- evaluate the doit which you gave above , so you have two windows open.
Now click in a browser list, to set the initial selection.
Now go to #actOnMatchingPresentationsChanged
and put halt there
actOnMatchingPresentationsChanged: anAnnouncement
+++ self halt.
GLMWatcherWindow uniqueInstance
addContent: [ self renderObject: anAnnouncement pane ]
Now click on list again to change the selection.
You can observe a huge pause before you got halt.
So, apparently the logic in #addContent: has nothing to do with the
blocking you still observe.
(btw in image which you give in link the
morph generation is still inside of #addDeferredUIMessage,
i , of course moved it outside before trying things).
P.S. btw, did i told you that i don't like #suspendAllWhile: in announcer? :)
The point is: if you need things like that, then you doing something wrong.
--
Best regards,
Igor Stasenko.