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