summaryrefslogtreecommitdiff
path: root/specs/CH07.xml
diff options
context:
space:
mode:
authorThomas E. Dickey <dickey@invisible-island.net>2019-05-07 19:59:07 -0400
committerThomas E. Dickey <dickey@invisible-island.net>2019-05-07 20:35:34 -0400
commitadf962f3b2c4539e555bfda600d34b63c9e5e002 (patch)
tree851a5b4ba9aa5ebf1cab5bfc09d8abe91a76aba0 /specs/CH07.xml
parent2286ca56529f27b0f6a809314e8303591c7fe240 (diff)
updated spec to correspond to the current implementation of XtAppMainLoop
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
Diffstat (limited to 'specs/CH07.xml')
-rw-r--r--specs/CH07.xml20
1 files changed, 8 insertions, 12 deletions
diff --git a/specs/CH07.xml b/specs/CH07.xml
index c576ad9..09d4dbc 100644
--- a/specs/CH07.xml
+++ b/specs/CH07.xml
@@ -2426,21 +2426,17 @@ Specifies the application context that identifies the application.
</variablelist>
<para>
-The
-<xref linkend='XtAppMainLoop' xrefstyle='select: title'/>
-function first reads the next incoming X event by calling
-<xref linkend='XtAppNextEvent' xrefstyle='select: title'/>
-and then dispatches the event to the appropriate registered procedure
-by calling
-<xref linkend='XtDispatchEvent' xrefstyle='select: title'/>.
+The <xref linkend='XtAppMainLoop' xrefstyle='select: title'/>
+function processes events using
+<xref linkend='XtAppProcessEvent' xrefstyle='select: title'/>,
+varying the <emphasis remap='I'>mask parameter</emphasis>
+and using <xref linkend='XtAppPending' xrefstyle='select: title'/>
+to ensure that it has a chance to handle events of all types,
+i.e., X events, timer events, input events and signal sources.
This constitutes the main loop of X Toolkit applications.
There is nothing special about
<xref linkend='XtAppMainLoop' xrefstyle='select: title'/>;
-it simply calls
-<xref linkend='XtAppNextEvent' xrefstyle='select: title'/>
-and then
-<xref linkend='XtDispatchEvent' xrefstyle='select: title'/>
-in a conditional loop.
+it simply processes events in a conditional loop.
At the bottom of the loop, it checks to see if the specified
application context's destroy flag is set.
If the flag is set, the loop breaks.