From 2d12c25a1b73fb6991006fd970b3132ab8ee8b62 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 13 Jun 2022 21:42:45 +0100 Subject: patch 8.2.5084: when the GUI shows a dialog tests get stuck Problem: When the GUI shows a dialog tests get stuck. Solution: Add the --gui-dialog-file argument. --- src/gui.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/gui.c') diff --git a/src/gui.c b/src/gui.c index 3b0ebac3f..68c64d298 100644 --- a/src/gui.c +++ b/src/gui.c @@ -5641,3 +5641,26 @@ check_for_interrupt(int key, int modifiers_arg) return NUL; } +/* + * If the "--gui-log-file fname" argument is given write the dialog title and + * message to a file and return TRUE. Otherwise return FALSE. + * When there is any problem opening the file or writing to the file this is + * ignored, showing the dialog might get the test to get stuck. + */ + int +gui_dialog_log(char_u *title, char_u *message) +{ + char_u *fname = get_gui_dialog_file(); + FILE *fd; + + if (fname == NULL) + return FALSE; + + fd = mch_fopen((char *)fname, "a"); + if (fd != NULL) + { + fprintf(fd, "%s: %s\n", title, message); + fclose(fd); + } + return TRUE; +} -- cgit v1.2.1