mirror of
https://github.com/weechat/weechat.git
synced 2026-07-02 07:46:38 +02:00
Fix hotlist bug after /buffer unmerge (bug #27133)
This commit is contained in:
+29
-1
@@ -1122,6 +1122,30 @@ gui_buffer_set_pointer (struct t_gui_buffer *buffer, const char *property,
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_buffer_compute_num_displayed: compute "num_displayed" for all buffers
|
||||
*/
|
||||
|
||||
void
|
||||
gui_buffer_compute_num_displayed ()
|
||||
{
|
||||
struct t_gui_buffer *ptr_buffer;
|
||||
struct t_gui_window *ptr_window;
|
||||
|
||||
for (ptr_buffer = gui_buffers; ptr_buffer;
|
||||
ptr_buffer = ptr_buffer->next_buffer)
|
||||
{
|
||||
ptr_buffer->num_displayed = 0;
|
||||
}
|
||||
|
||||
for (ptr_window = gui_windows; ptr_window;
|
||||
ptr_window = ptr_window->next_window)
|
||||
{
|
||||
if (ptr_window->buffer)
|
||||
ptr_window->buffer->num_displayed++;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_buffer_add_value_num_displayed: add value to "num_displayed" variable
|
||||
* for a buffer (value can be negative)
|
||||
@@ -1449,7 +1473,7 @@ gui_buffer_close (struct t_gui_buffer *buffer)
|
||||
{
|
||||
(void)(buffer->close_callback) (buffer->close_callback_data, buffer);
|
||||
}
|
||||
|
||||
|
||||
/* first unmerge buffer if it is merged to at least one other buffer */
|
||||
if (gui_buffer_count_merged_buffers (buffer->number) > 1)
|
||||
gui_buffer_unmerge (buffer, -1);
|
||||
@@ -1839,6 +1863,8 @@ gui_buffer_merge (struct t_gui_buffer *buffer,
|
||||
ptr_buffer->number--;
|
||||
}
|
||||
|
||||
gui_buffer_compute_num_displayed ();
|
||||
|
||||
gui_window_ask_refresh (1);
|
||||
|
||||
hook_signal_send ("buffer_merged",
|
||||
@@ -1949,6 +1975,8 @@ gui_buffer_unmerge (struct t_gui_buffer *buffer, int number)
|
||||
ptr_buffer->number++;
|
||||
}
|
||||
|
||||
gui_buffer_compute_num_displayed ();
|
||||
|
||||
gui_window_ask_refresh (1);
|
||||
|
||||
hook_signal_send ("buffer_unmerged",
|
||||
|
||||
+2
-2
@@ -1067,8 +1067,8 @@ gui_lines_print_log (struct t_gui_lines *lines)
|
||||
log_printf (" first_line . . . . . : 0x%lx", lines->first_line);
|
||||
log_printf (" last_line. . . . . . : 0x%lx", lines->last_line);
|
||||
log_printf (" last_read_line . . . : 0x%lx", lines->last_read_line);
|
||||
log_printf (" lines_count. . . . . . : %d", lines->lines_count);
|
||||
log_printf (" first_line_not_read. . : %d", lines->first_line_not_read);
|
||||
log_printf (" lines_count. . . . . : %d", lines->lines_count);
|
||||
log_printf (" first_line_not_read. : %d", lines->first_line_not_read);
|
||||
log_printf (" lines_hidden . . . . : %d", lines->lines_hidden);
|
||||
log_printf (" buffer_max_length. . : %d", lines->buffer_max_length);
|
||||
log_printf (" prefix_max_length. . : %d", lines->prefix_max_length);
|
||||
|
||||
Reference in New Issue
Block a user