
Output of modal.c
This program demonstrates both application modal and system modal dialogs. The value for the XmNdialogType
resource is passed as client data to the callback routine that posts the dialog.
6.7.2 Forcing an Immediate Response
In the source code once the dialog is posted, the function returns so that XtAppMainLoop() can continue to process
the events. If the function does not return, the application will not respond to user events and, for that matter, the
dialog will not even be displayed. Just because a dialog is realized and managed does not mean that it is displayed on
the screen, as events must be processed in order for it to appear. See Chapter 21, Advanced Dialog Programming, for
a discussion of this phenomenon. (See Volume One, Xlib Programming Manual, for more information on event
processing.)
However, there are situations where it would be nice not to have to return from the function and break its flow of
control. As an example, consider a function that allows the user to perform a particularly dangerous action, such as
removing or overwriting a file. What you'd like to do is prompt the user first and allow her to reconsider the action
before proceeding. If she confirms the action, you'd like to continue from within the same function without having to
return in order to process events.
In order to write this type of function, we need to find a way to process the events ...