From 03531f79c3255dc917177dcb16feaed0ba6be684 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 16 Nov 2010 15:04:57 +0100 Subject: [PATCH] updated for version 7.3.059 Problem: Netbeans: Problem with recursively handling messages for Athena and Motif. Solution: Call netbeans_parse_messages() in the main loop, like it's done for GTK. (Xavier de Gaye) --- src/gui_x11.c | 5 +++++ src/netbeans.c | 28 +++------------------------- src/version.c | 2 ++ 3 files changed, 10 insertions(+), 25 deletions(-) diff --git a/src/gui_x11.c b/src/gui_x11.c index b61aae077..e4a056ee6 100644 --- a/src/gui_x11.c +++ b/src/gui_x11.c @@ -2895,6 +2895,11 @@ gui_mch_wait_for_chars(wtime) focus = gui.in_focus; } +#if defined(FEAT_NETBEANS_INTG) + /* Process any queued netbeans messages. */ + netbeans_parse_messages(); +#endif + /* * Don't use gui_mch_update() because then we will spin-lock until a * char arrives, instead we use XtAppProcessEvent() to hang until an diff --git a/src/netbeans.c b/src/netbeans.c index 6f92b3c39..02e92371d 100644 --- a/src/netbeans.c +++ b/src/netbeans.c @@ -726,9 +726,6 @@ netbeans_read() static char_u *buf = NULL; int len = 0; int readlen = 0; -#if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32) - static int level = 0; -#endif #ifdef HAVE_SELECT struct timeval tval; fd_set rfds; @@ -744,13 +741,6 @@ netbeans_read() return; } -#if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32) - /* recursion guard; this will be called from the X event loop at unknown - * moments */ - if (NB_HAS_GUI) - ++level; -#endif - /* Allocate a buffer to read into. */ if (buf == NULL) { @@ -803,21 +793,9 @@ netbeans_read() return; /* don't try to parse it */ } -#if defined(NB_HAS_GUI) && !defined(FEAT_GUI_W32) - /* Let the main loop handle messages. */ - if (NB_HAS_GUI) - { -# ifdef FEAT_GUI_GTK - if (gtk_main_level() > 0) - gtk_main_quit(); -# else - /* Parse the messages now, but avoid recursion. */ - if (level == 1) - netbeans_parse_messages(); - - --level; -# endif - } +#if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK) + if (NB_HAS_GUI && gtk_main_level() > 0) + gtk_main_quit(); #endif } diff --git a/src/version.c b/src/version.c index 2c9e86091..dc6d7d536 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 59, /**/ 58, /**/ -- 2.50.1