diff --git a/src/gui/gui-buffer.c b/src/gui/gui-buffer.c index d66f918c4..76f56061e 100644 --- a/src/gui/gui-buffer.c +++ b/src/gui/gui-buffer.c @@ -1134,24 +1134,27 @@ gui_buffer_clear (struct t_gui_buffer *buffer) if (!buffer) return; - /* remove buffer from hotlist */ - gui_hotlist_remove_buffer (buffer); - - /* remove all lines */ - gui_chat_line_free_all (buffer); - - /* remove any scroll for buffer */ - for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window) + if (buffer->type == GUI_BUFFER_TYPE_FORMATED) { - if (ptr_win->buffer == buffer) + /* remove buffer from hotlist */ + gui_hotlist_remove_buffer (buffer); + + /* remove all lines */ + gui_chat_line_free_all (buffer); + + /* remove any scroll for buffer */ + for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window) { - ptr_win->first_line_displayed = 1; - ptr_win->start_line = NULL; - ptr_win->start_line_pos = 0; + if (ptr_win->buffer == buffer) + { + ptr_win->first_line_displayed = 1; + ptr_win->start_line = NULL; + ptr_win->start_line_pos = 0; + } } + + gui_buffer_ask_chat_refresh (buffer, 2); } - - gui_buffer_ask_chat_refresh (buffer, 2); } /* @@ -1163,7 +1166,8 @@ gui_buffer_clear_all () { struct t_gui_buffer *ptr_buffer; - for (ptr_buffer = gui_buffers; ptr_buffer; ptr_buffer = ptr_buffer->next_buffer) + for (ptr_buffer = gui_buffers; ptr_buffer; + ptr_buffer = ptr_buffer->next_buffer) { gui_buffer_clear (ptr_buffer); }