Palette redraw problem
J. Landman Gay
jacque at hyperactivesw.com
Sat May 22 13:22:30 EDT 2004
On 5/22/04 12:12 AM, Scott Rossi wrote:
> OK, I believe I've met the challenge, using the relocation technique. The
> result is a bit like the behavior of the Mac app GraphicConverter.
>
> Try this (message box):
>
> go url "http://www.tactilemedia.com/download/palettetest.rev"
>
> Create a new main stack and click back and forth between the palettetest
> stack and your empty main stack (or the message box). The palette window
> should hide and display depending on whether the test stack is front-most,
> and you should be able to click/type within the palette while it is visible.
>
> See the card script of the test stack for details. Appears to work as
> desired on OSX (not tested on Windows).
>
> Do I win?
YES!! You win! :)
By moving rather than hiding the palette, there are no recursive
resume/suspend messages sent, which avoids the recursive messaging
problems. But here is the weird part: the movestack handler you included
is absolutely crucial. There does not even have to be a script in it;
the main thing is that the movestack message is prevented from
traversing the hierarchy. I commented out the entire movestack handler
in your example and got the every-other-time palette hiding behavior.
Leaving the movestack handler enabled, even if it has no contents and is
just a blocking handler, eliminates the problem and the palette
disappears consistently every time.
This is really strange, because the movestack block is required even if
you don't move the substack and you are just clicking over to the main
stack. It looks like a "movestack" message is sent whenever a stack is
suspended. That doesn't sound right.
So, the combination of moving the palette out of view rather than hiding
it, along with blocking the "movestack" message, seems to do the trick.
I hereby present you with the Wizard of the Weird Handler Workarounds
Award. :) Now I guess I'll have to ask the team about that strange
movestack message. I don't think it should be in there, and it cost me a
couple of days.
--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
More information about the use-livecode
mailing list