summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2010-11-16 15:04:57 +0100
committerBram Moolenaar <Bram@vim.org>2010-11-16 15:04:57 +0100
commit03531f79c3255dc917177dcb16feaed0ba6be684 (patch)
tree9253ae3fc6228be652ca97ef4dcbb03920701c4f
parent3c53160348b8c63f5129a65cbeffd2c1453ce47d (diff)
updated for version 7.3.059v7.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)
-rw-r--r--src/gui_x11.c5
-rw-r--r--src/netbeans.c28
-rw-r--r--src/version.c2
3 files changed, 10 insertions, 25 deletions
diff --git a/src/gui_x11.c b/src/gui_x11.c
index b61aae0779..e4a056ee6d 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 6f92b3c390..02e92371d6 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 2c9e860912..dc6d7d536f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 59,
+/**/
58,
/**/
57,