1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-10 11:43:13 +02:00

Fix hotlist bug after /buffer unmerge (bug #27133)

This commit is contained in:
Sebastien Helleu
2009-07-29 10:38:45 +02:00
parent ffdba5b248
commit 7d25b62665
2 changed files with 31 additions and 3 deletions
+29 -1
View File
@@ -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",