diff options
-rw-r--r-- | src/ChangeLog | 3 | ||||
-rw-r--r-- | src/xfns.c | 12 |
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) |