# HG changeset patch # User Bram Moolenaar # Date 1426871508 -3600 # Node ID 97cc4ee3e095ce4e7178c41a39bac864ba6d2c7d # Parent a2bcc773cfa09df5e4127f94ce36ab396e5fa222 updated for version 7.4.669 Problem: When netbeans is active the sign column always shows up. Solution: Only show the sign column once a sign has been added. (Xavier de Gaye) diff --git a/src/buffer.c b/src/buffer.c --- a/src/buffer.c +++ b/src/buffer.c @@ -5473,6 +5473,10 @@ insert_sign(buf, prev, next, id, lnum, t /* first sign in signlist */ buf->b_signlist = newsign; +#ifdef FEAT_NETBEANS_INTG + if (netbeans_active()) + buf->b_has_sign_column = TRUE; +#endif } else prev->next = newsign; diff --git a/src/edit.c b/src/edit.c --- a/src/edit.c +++ b/src/edit.c @@ -6687,7 +6687,7 @@ comp_textwidth(ff) #ifdef FEAT_SIGNS if (curwin->w_buffer->b_signlist != NULL # ifdef FEAT_NETBEANS_INTG - || netbeans_active() + || curwin->w_buffer->b_has_sign_column # endif ) textwidth -= 1; diff --git a/src/move.c b/src/move.c --- a/src/move.c +++ b/src/move.c @@ -905,7 +905,7 @@ win_col_off(wp) + ( # ifdef FEAT_NETBEANS_INTG /* show glyph gutter in netbeans */ - netbeans_active() || + wp->w_buffer->b_has_sign_column || # endif wp->w_buffer->b_signlist != NULL ? 2 : 0) #endif diff --git a/src/netbeans.c b/src/netbeans.c --- a/src/netbeans.c +++ b/src/netbeans.c @@ -144,6 +144,11 @@ static int inAtomic = 0; static void nb_close_socket(void) { + buf_T *buf; + + for (buf = firstbuf; buf != NULL; buf = buf->b_next) + buf->b_has_sign_column = FALSE; + #ifdef FEAT_GUI_X11 if (inputHandler != (XtInputId)NULL) { diff --git a/src/screen.c b/src/screen.c --- a/src/screen.c +++ b/src/screen.c @@ -2214,7 +2214,7 @@ draw_signcolumn(wp) { return (wp->w_buffer->b_signlist != NULL # ifdef FEAT_NETBEANS_INTG - || netbeans_active() + || wp->w_buffer->b_has_sign_column # endif ); } diff --git a/src/structs.h b/src/structs.h --- a/src/structs.h +++ b/src/structs.h @@ -1805,6 +1805,11 @@ struct file_buffer #ifdef FEAT_SIGNS signlist_T *b_signlist; /* list of signs to draw */ +# ifdef FEAT_NETBEANS_INTG + int b_has_sign_column; /* Flag that is set when a first sign is + * added and remains set until the end of + * the netbeans session. */ +# endif #endif #ifdef FEAT_NETBEANS_INTG diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 669, +/**/ 668, /**/ 667,