mirror of
https://github.com/weechat/weechat.git
synced 2026-06-28 22:06:38 +02:00
Fixed display bugs when many windows are opened
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
ChangeLog - 2005-02-12
|
||||
ChangeLog - 2005-02-13
|
||||
|
||||
|
||||
Version 0.1.1 (under dev!):
|
||||
* on server buffer, only server messages are logged
|
||||
* plugins messages are logged with new config option (log_plugin_msg)
|
||||
* fixed display bugs when many windows are opened
|
||||
|
||||
Version 0.1.0 (2005-02-12):
|
||||
* improved /window command: now split and merge are ok
|
||||
|
||||
@@ -1673,6 +1673,7 @@ gui_window_split_horiz (t_gui_window *window)
|
||||
|
||||
/* assign same buffer for new window (top window) */
|
||||
new_window->buffer = window->buffer;
|
||||
new_window->buffer->num_displayed++;
|
||||
|
||||
gui_switch_to_buffer (window, window->buffer);
|
||||
|
||||
@@ -1705,6 +1706,7 @@ gui_window_split_vertic (t_gui_window *window)
|
||||
|
||||
/* assign same buffer for new window (right window) */
|
||||
new_window->buffer = window->buffer;
|
||||
new_window->buffer->num_displayed++;
|
||||
|
||||
gui_switch_to_buffer (window, window->buffer);
|
||||
|
||||
@@ -2227,7 +2229,7 @@ gui_add_message (t_gui_buffer *buffer, int type, int color, char *message)
|
||||
if (pos)
|
||||
{
|
||||
pos[0] = '\n';
|
||||
if ((buffer->num_displayed > 0) && (gui_current_window->sub_lines == 0))
|
||||
if ((buffer->num_displayed > 0) /*&& (gui_current_window->sub_lines == 0)*/)
|
||||
{
|
||||
/*if ((buffer->window->win_chat_cursor_y
|
||||
+ gui_get_line_num_splits (buffer, buffer->last_line)) >
|
||||
|
||||
@@ -337,6 +337,9 @@ gui_infobar_printf (int time_displayed, int color, char *message, ...)
|
||||
void
|
||||
gui_window_free (t_gui_window *window)
|
||||
{
|
||||
if (window->buffer->num_displayed > 0)
|
||||
window->buffer->num_displayed--;
|
||||
|
||||
/* remove window from windows list */
|
||||
if (window->prev_window)
|
||||
window->prev_window->next_window = window->next_window;
|
||||
|
||||
+12
-2
@@ -628,6 +628,7 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
|
||||
t_irc_channel *ptr_channel;
|
||||
t_irc_nick *ptr_nick;
|
||||
int nick_is_me;
|
||||
t_gui_window *ptr_win;
|
||||
t_gui_buffer *ptr_buffer;
|
||||
|
||||
/* no host => we can't identify sender of message! */
|
||||
@@ -698,9 +699,18 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
|
||||
{
|
||||
free (server->nick);
|
||||
server->nick = strdup (arguments);
|
||||
gui_draw_buffer_status (gui_current_window->buffer, 1);
|
||||
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
|
||||
{
|
||||
if (ptr_win->buffer->server == server)
|
||||
gui_draw_buffer_input (ptr_win->buffer, 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gui_draw_buffer_status (gui_current_window->buffer, 1);
|
||||
gui_draw_buffer_input (gui_current_window->buffer, 1);
|
||||
}
|
||||
gui_draw_buffer_status (gui_current_window->buffer, 1);
|
||||
gui_draw_buffer_input (gui_current_window->buffer, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,12 +1,13 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
ChangeLog - 2005-02-12
|
||||
ChangeLog - 2005-02-13
|
||||
|
||||
|
||||
Version 0.1.1 (under dev!):
|
||||
* on server buffer, only server messages are logged
|
||||
* plugins messages are logged with new config option (log_plugin_msg)
|
||||
* fixed display bugs when many windows are opened
|
||||
|
||||
Version 0.1.0 (2005-02-12):
|
||||
* improved /window command: now split and merge are ok
|
||||
|
||||
@@ -1673,6 +1673,7 @@ gui_window_split_horiz (t_gui_window *window)
|
||||
|
||||
/* assign same buffer for new window (top window) */
|
||||
new_window->buffer = window->buffer;
|
||||
new_window->buffer->num_displayed++;
|
||||
|
||||
gui_switch_to_buffer (window, window->buffer);
|
||||
|
||||
@@ -1705,6 +1706,7 @@ gui_window_split_vertic (t_gui_window *window)
|
||||
|
||||
/* assign same buffer for new window (right window) */
|
||||
new_window->buffer = window->buffer;
|
||||
new_window->buffer->num_displayed++;
|
||||
|
||||
gui_switch_to_buffer (window, window->buffer);
|
||||
|
||||
@@ -2227,7 +2229,7 @@ gui_add_message (t_gui_buffer *buffer, int type, int color, char *message)
|
||||
if (pos)
|
||||
{
|
||||
pos[0] = '\n';
|
||||
if ((buffer->num_displayed > 0) && (gui_current_window->sub_lines == 0))
|
||||
if ((buffer->num_displayed > 0) /*&& (gui_current_window->sub_lines == 0)*/)
|
||||
{
|
||||
/*if ((buffer->window->win_chat_cursor_y
|
||||
+ gui_get_line_num_splits (buffer, buffer->last_line)) >
|
||||
|
||||
@@ -337,6 +337,9 @@ gui_infobar_printf (int time_displayed, int color, char *message, ...)
|
||||
void
|
||||
gui_window_free (t_gui_window *window)
|
||||
{
|
||||
if (window->buffer->num_displayed > 0)
|
||||
window->buffer->num_displayed--;
|
||||
|
||||
/* remove window from windows list */
|
||||
if (window->prev_window)
|
||||
window->prev_window->next_window = window->next_window;
|
||||
|
||||
@@ -628,6 +628,7 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
|
||||
t_irc_channel *ptr_channel;
|
||||
t_irc_nick *ptr_nick;
|
||||
int nick_is_me;
|
||||
t_gui_window *ptr_win;
|
||||
t_gui_buffer *ptr_buffer;
|
||||
|
||||
/* no host => we can't identify sender of message! */
|
||||
@@ -698,9 +699,18 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
|
||||
{
|
||||
free (server->nick);
|
||||
server->nick = strdup (arguments);
|
||||
gui_draw_buffer_status (gui_current_window->buffer, 1);
|
||||
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
|
||||
{
|
||||
if (ptr_win->buffer->server == server)
|
||||
gui_draw_buffer_input (ptr_win->buffer, 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gui_draw_buffer_status (gui_current_window->buffer, 1);
|
||||
gui_draw_buffer_input (gui_current_window->buffer, 1);
|
||||
}
|
||||
gui_draw_buffer_status (gui_current_window->buffer, 1);
|
||||
gui_draw_buffer_input (gui_current_window->buffer, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user