From 717e196060d946fe20bb0f0307f417dc4d0e9b17 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 10 Aug 2016 21:28:44 +0200 Subject: patch 7.4.2193 Problem: With Gnome when the GUI can't start test_startup hangs. Solution: Call gui_mch_early_init_check(). (Hirohito Higashi) --- src/gui.c | 2 +- src/gui_gtk_x11.c | 11 +++++++---- src/proto/gui_gtk_x11.pro | 2 +- src/version.c | 2 ++ 4 files changed, 11 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/gui.c b/src/gui.c index 88b5d7bf9f..0d858ec5b1 100644 --- a/src/gui.c +++ b/src/gui.c @@ -447,7 +447,7 @@ gui_init_check(void) * See gui_do_fork(). * Use a simpler check if the GUI window can probably be opened. */ - result = gui.dofork ? gui_mch_early_init_check() : gui_mch_init_check(); + result = gui.dofork ? gui_mch_early_init_check(TRUE) : gui_mch_init_check(); # else result = gui_mch_init_check(); # endif diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 939ecde7ee..7c63a49fc6 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -542,8 +542,10 @@ gui_mch_prepare(int *argc, char **argv) } /* These arguments make gnome_program_init() print a message and exit. - * Must start the GUI for this, otherwise ":gui" will exit later! */ - if (option->flags & ARG_NEEDS_GUI) + * Must start the GUI for this, otherwise ":gui" will exit later! + * Only when the GUI can start. */ + if ((option->flags & ARG_NEEDS_GUI) + && gui_mch_early_init_check(FALSE) == OK) gui.starting = TRUE; if (option->flags & ARG_KEEP) @@ -1663,7 +1665,7 @@ selection_get_cb(GtkWidget *widget UNUSED, * Return OK or FAIL. */ int -gui_mch_early_init_check(void) +gui_mch_early_init_check(int give_message) { char_u *p; @@ -1672,7 +1674,8 @@ gui_mch_early_init_check(void) if (p == NULL || *p == NUL) { gui.dying = TRUE; - EMSG(_((char *)e_opendisp)); + if (give_message) + EMSG(_((char *)e_opendisp)); return FAIL; } return OK; diff --git a/src/proto/gui_gtk_x11.pro b/src/proto/gui_gtk_x11.pro index b79feb8e4e..f663dbaf10 100644 --- a/src/proto/gui_gtk_x11.pro +++ b/src/proto/gui_gtk_x11.pro @@ -6,7 +6,7 @@ int gui_mch_is_blink_off(void); void gui_mch_set_blinking(long waittime, long on, long off); void gui_mch_stop_blink(void); void gui_mch_start_blink(void); -int gui_mch_early_init_check(void); +int gui_mch_early_init_check(int give_message); int gui_mch_init_check(void); void gui_mch_show_tabline(int showit); int gui_mch_showing_tabline(void); diff --git a/src/version.c b/src/version.c index c775c3736a..3adadd48b3 100644 --- a/src/version.c +++ b/src/version.c @@ -763,6 +763,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2193, /**/ 2192, /**/ -- cgit v1.2.3