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
index edb38d6..6dfe007 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -5473,6 +5473,10 @@
/* 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
index 610d0a3..9f7f1d6 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -6687,7 +6687,7 @@
#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
index e84f3d5..0269412 100644
--- a/src/move.c
+++ b/src/move.c
@@ -905,7 +905,7 @@
+ (
# 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
index e9f7910..68ca301 100644
--- a/src/netbeans.c
+++ b/src/netbeans.c
@@ -144,6 +144,11 @@
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
index fd15ad1..4e1fb36 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -2214,7 +2214,7 @@
{
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
index 448697a..3b24eec 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1805,6 +1805,11 @@
#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
index c5e8a15..f7eae85 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 669,
+/**/
668,
/**/
667,