Re: XForms: cannot deactivate form that is not shown ?

Steve Lamont (spl@szechuan.ucsd.edu)
Sun, 11 Jan 98 21:27:45 PST

To subscribers of the xforms list from spl@szechuan.ucsd.edu (Steve Lamont) :

> I do not like the fact that fl_deactivate_form(...)
> requires that form to be shown in order to work.
> Is that documented ? Is that done on purpose ?

The problem is that when a form is shown, its state is initialized and
part of the intialization is to set the internal deactivation count to
0. Dunno if TC considers that a bug or not.

> Deactivating a form after showing it can (maybe?) create a short
> race condition, i.e. the form may be active for a short time
> before it is deactivated.

Here's an example workaround

FD_try *fd_try;

fd_try = create_form_try();

fl_prepare_form_window( fd_try->try,
FL_PLACE_CENTERFREE,FL_FULLBORDER,"try" );
fl_deactivate_form( fd_try->try );
fl_show_form_window( fd_try->try );

The above hack creates and initializes the form (including creating an
unmapped Window), deactivates it, then makes it visible (basically,
just mapping the Window).

spl
_________________________________________________
To unsubscribe, send the message "unsubscribe" to
xforms-request@bob.usuf2.usuhs.mil or see
http://bob.usuf2.usuhs.mil/mailserv/xforms.html
Xforms Home Page: http://bloch.phys.uwm.edu/xforms
List Archive: http://bob.usuf2.usuhs.mil/mailserv/list-archives/