On Fri, Aug 11, 2000 at 09:48:54AM -0700, Oliver King-Smith wrote:
> When I run with the debug ROM under the simulator it behavors a little
> differently than the release ROM.  The problem comes with a snippit of code
> like as follows.
> 
> Forma.c
>       FrmPopupForm( Formb );
> 
> Formb.c
>       FrmPopupForm( Formc );
> 
> Formc.c
>       FrmReturnToForm( 0 );
> 
> In the debug roms when I call the FrmReturnToForm from a dialog that is
> nested 2 deep, it seem to try to redraw the base form (Forma).  In the
> regular mode, it redraws Formb (the behavior I want).  Does anyone know why
> this is happening?

Yes.  The debug roms purposefully ignore the "saveBehind" bit on
forms.  The result is that whenever an overlying form is dismissed,
the underlying form needs to be redrawn, which PalmOS accomplishes by
sending a frmUpdateEvent to each form which needs to be redrawn.
Assuming that you're not handling these events yourself, this in turn
causes PalmOS to call FrmDrawForm() to redraw each effected form.
Normally this is fine, unless you're using some custom draw procedure,
and this procedure isn't handling clipping rectangles properly.

I had this exact same problem with one of my programs.  I posted a
description of my problem and the solution I used to this list some
months ago.  You can find a copy in the list archives on eScribe at
<http://www.escribe.com/computing/pcpqa/m14370.html>.  See that
message for details.

John

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to