# HG changeset patch # User Christian Brabandt # Date 1462032906 -7200 # Node ID 3a6b66c02d6de68747c7679c861eb1920a2e0af5 # Parent 90d5e86e27e5c43ad5ffa9fd06a75443d38b1585 commit https://github.com/vim/vim/commit/3266c85a44a637862b0ed6e531680c6ab2897ab5 Author: Bram Moolenaar Date: Sat Apr 30 18:07:05 2016 +0200 patch 7.4.1811 Problem: Netbeans channel gets garbage collected. Solution: Set reference in nb_channel. diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -7025,6 +7025,9 @@ garbage_collect(int testing) #ifdef FEAT_JOB_CHANNEL abort = abort || set_ref_in_channel(copyID); #endif +#ifdef FEAT_NETBEANS_INTG + abort = abort || set_ref_in_nb_channel(copyID); +#endif if (!abort) { diff --git a/src/netbeans.c b/src/netbeans.c --- a/src/netbeans.c +++ b/src/netbeans.c @@ -2585,6 +2585,23 @@ netbeans_send_disconnect(void) } } +#if defined(FEAT_EVAL) || defined(PROTO) + int +set_ref_in_nb_channel(int copyID) +{ + int abort = FALSE; + typval_T tv; + + if (nb_channel != NULL) + { + tv.v_type = VAR_CHANNEL; + tv.vval.v_channel = nb_channel; + abort = set_ref_in_item(&tv, copyID, NULL, NULL); + } + return abort; +} +#endif + #if defined(FEAT_GUI_X11) || defined(FEAT_GUI_W32) || defined(PROTO) /* * Tell netbeans that the window was moved or resized. diff --git a/src/proto/netbeans.pro b/src/proto/netbeans.pro --- a/src/proto/netbeans.pro +++ b/src/proto/netbeans.pro @@ -10,6 +10,7 @@ void netbeans_beval_cb(BalloonEval *beva int netbeans_active(void); void netbeans_open(char *params, int doabort); void netbeans_send_disconnect(void); +int set_ref_in_nb_channel(int copyID); void netbeans_frame_moved(int new_x, int new_y); void netbeans_file_activated(buf_T *bufp); void netbeans_file_opened(buf_T *bufp); diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1811, +/**/ 1810, /**/ 1809,