0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

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)
This commit is contained in:
Bram Moolenaar 2010-11-16 15:04:57 +01:00
parent 3c53160348
commit 03531f79c3
3 changed files with 10 additions and 25 deletions

View File

@ -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

View File

@ -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
}

View File

@ -714,6 +714,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
59,
/**/
58,
/**/