summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorSébastien Helleu <flashcode@flashtux.org>2014-11-01 10:23:33 +0100
committerSébastien Helleu <flashcode@flashtux.org>2014-11-01 10:23:33 +0100
commit24c4c047415db25fd266ea8ae5d289e3610828de (patch)
treedd9afcfe8c601baf472abf811662f58e16d4a786 /src/gui
parent3d4c4aac9bcd8aaf2e3335a18a083d59192f83a8 (diff)
downloadweechat-24c4c047415db25fd266ea8ae5d289e3610828de.zip
core: fix buffer property "lines_hidden" when merging buffers or when a line is removed from a buffer (closes #226)
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/gui-line.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/gui/gui-line.c b/src/gui/gui-line.c
index 21cf56de6..1ea5948ab 100644
--- a/src/gui/gui-line.c
+++ b/src/gui/gui-line.c
@@ -947,6 +947,10 @@ gui_line_add_to_list (struct t_gui_lines *lines,
if (prefix_length > lines->prefix_max_length)
lines->prefix_max_length = prefix_length;
+ /* adjust "lines_hidden" if the line is hidden */
+ if (!line->data->displayed)
+ (lines->lines_hidden)++;
+
lines->lines_count++;
}
@@ -996,6 +1000,10 @@ gui_line_remove_from_list (struct t_gui_buffer *buffer,
gui_buffer_ask_chat_refresh (buffer, 1);
}
+ /* adjust "lines_hidden" if the line was hidden */
+ if (!line->data->displayed && (lines->lines_hidden > 0))
+ (lines->lines_hidden)--;
+
/* free data */
if (free_data)
{
@@ -1287,9 +1295,6 @@ gui_line_add (struct t_gui_buffer *buffer, time_t date,
}
else
{
- buffer->own_lines->lines_hidden++;
- if (buffer->mixed_lines)
- buffer->mixed_lines->lines_hidden++;
(void) hook_signal_send ("buffer_lines_hidden",
WEECHAT_HOOK_SIGNAL_POINTER, buffer);
}