Fixed bug with text search and previous/next highlight (sometimes search came back to end of buffer)

This commit is contained in:
Sebastien Helleu 2007-03-20 12:23:11 +00:00
parent c988f0c473
commit 0b6a91837c
4 changed files with 60 additions and 8 deletions

View File

@ -1165,11 +1165,7 @@ gui_chat_draw (t_gui_buffer *buffer, int erase)
if (!ptr_line && ptr_win->scroll)
{
if (count == gui_chat_display_line (ptr_win, ptr_win->buffer->last_line, 0, 1))
{
ptr_win->scroll = 0;
ptr_win->start_line = NULL;
ptr_win->start_line_pos = 0;
}
}
if (!ptr_win->scroll && (ptr_win->start_line == ptr_win->buffer->lines))

View File

@ -533,6 +533,11 @@ gui_window_page_up (t_gui_window *window)
(-1) * (window->win_chat_height - 1) :
(-1) * ((window->win_chat_height - 1) * 2));
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}
@ -569,6 +574,11 @@ gui_window_page_down (t_gui_window *window)
}
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}
@ -591,6 +601,11 @@ gui_window_scroll_up (t_gui_window *window)
(-1) * cfg_look_scroll_amount :
(-1) * ( (window->win_chat_height - 1) + cfg_look_scroll_amount));
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}
@ -628,6 +643,11 @@ gui_window_scroll_down (t_gui_window *window)
}
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}
@ -647,6 +667,11 @@ gui_window_scroll_top (t_gui_window *window)
window->start_line = window->buffer->lines;
window->start_line_pos = 0;
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}
@ -666,6 +691,11 @@ gui_window_scroll_bottom (t_gui_window *window)
window->start_line = NULL;
window->start_line_pos = 0;
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}

View File

@ -1165,11 +1165,7 @@ gui_chat_draw (t_gui_buffer *buffer, int erase)
if (!ptr_line && ptr_win->scroll)
{
if (count == gui_chat_display_line (ptr_win, ptr_win->buffer->last_line, 0, 1))
{
ptr_win->scroll = 0;
ptr_win->start_line = NULL;
ptr_win->start_line_pos = 0;
}
}
if (!ptr_win->scroll && (ptr_win->start_line == ptr_win->buffer->lines))

View File

@ -533,6 +533,11 @@ gui_window_page_up (t_gui_window *window)
(-1) * (window->win_chat_height - 1) :
(-1) * ((window->win_chat_height - 1) * 2));
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}
@ -569,6 +574,11 @@ gui_window_page_down (t_gui_window *window)
}
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}
@ -591,6 +601,11 @@ gui_window_scroll_up (t_gui_window *window)
(-1) * cfg_look_scroll_amount :
(-1) * ( (window->win_chat_height - 1) + cfg_look_scroll_amount));
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}
@ -628,6 +643,11 @@ gui_window_scroll_down (t_gui_window *window)
}
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}
@ -647,6 +667,11 @@ gui_window_scroll_top (t_gui_window *window)
window->start_line = window->buffer->lines;
window->start_line_pos = 0;
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}
@ -666,6 +691,11 @@ gui_window_scroll_bottom (t_gui_window *window)
window->start_line = NULL;
window->start_line_pos = 0;
gui_chat_draw (window->buffer, 0);
if (!window->scroll)
{
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 0);
}
}