summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog3
-rw-r--r--src/xfns.c12
2 files changed, 13 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 76101cce23f..87b07151e77 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
2001-07-25 Gerd Moellmann <gerd@gnu.org>
+ * xfns.c (Fx_file_dialog): Block/unblock input while processing
+ events so that we get a chance of processing expose events.
+
* xdisp.c (resize_mini_window): Don't resize while redisplaying.
2001-07-24 Gerd Moellmann <gerd@gnu.org>
diff --git a/src/xfns.c b/src/xfns.c
index 0d71a16fa6a..1713c8ef963 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -11256,10 +11256,18 @@ selection dialog's entry field, if MUSTMATCH is non-nil.")
XmListSetPos (list, item_pos);
}
- /* Process events until the user presses Cancel or OK. */
+ /* Process events until the user presses Cancel or OK. Block
+ and unblock input here so that we get a chance of processing
+ expose events. */
+ UNBLOCK_INPUT;
result = 0;
while (result == 0)
- XtAppProcessEvent (Xt_app_con, XtIMAll);
+ {
+ BLOCK_INPUT;
+ XtAppProcessEvent (Xt_app_con, XtIMAll);
+ UNBLOCK_INPUT;
+ }
+ BLOCK_INPUT;
/* Get the result. */
if (result == XmCR_OK)