core: fix char displayed at the intersection of three windows (bug #39331)
This commit is contained in:
parent
3744787ec0
commit
ff09807c10
@ -1,7 +1,7 @@
|
|||||||
WeeChat ChangeLog
|
WeeChat ChangeLog
|
||||||
=================
|
=================
|
||||||
Sébastien Helleu <flashcode@flashtux.org>
|
Sébastien Helleu <flashcode@flashtux.org>
|
||||||
v0.4.2-dev, 2013-07-08
|
v0.4.2-dev, 2013-07-10
|
||||||
|
|
||||||
|
|
||||||
This document lists all changes for each version.
|
This document lists all changes for each version.
|
||||||
@ -14,6 +14,7 @@ http://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
|||||||
Version 0.4.2 (under dev!)
|
Version 0.4.2 (under dev!)
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
* core: fix char displayed at the intersection of three windows (bug #39331)
|
||||||
* core: fix crash in evaluation of expression when reading a string in hdata
|
* core: fix crash in evaluation of expression when reading a string in hdata
|
||||||
with a NULL value (bug #39419)
|
with a NULL value (bug #39419)
|
||||||
* core: fix display bugs with some UTF-8 chars that truncates messages displayed
|
* core: fix display bugs with some UTF-8 chars that truncates messages displayed
|
||||||
|
@ -966,7 +966,7 @@ gui_window_calculate_pos_size (struct t_gui_window *window)
|
|||||||
void
|
void
|
||||||
gui_window_draw_separators (struct t_gui_window *window)
|
gui_window_draw_separators (struct t_gui_window *window)
|
||||||
{
|
{
|
||||||
int separator;
|
int separator_char, separator_horizontal, separator_vertical, x, width;
|
||||||
|
|
||||||
/* remove separators */
|
/* remove separators */
|
||||||
if (GUI_WINDOW_OBJECTS(window)->win_separator_horiz)
|
if (GUI_WINDOW_OBJECTS(window)->win_separator_horiz)
|
||||||
@ -980,33 +980,39 @@ gui_window_draw_separators (struct t_gui_window *window)
|
|||||||
GUI_WINDOW_OBJECTS(window)->win_separator_vertic = NULL;
|
GUI_WINDOW_OBJECTS(window)->win_separator_vertic = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* create/draw horizontal separator */
|
/* check if separators must be displayed */
|
||||||
if (CONFIG_BOOLEAN(config_look_window_separator_horizontal)
|
separator_horizontal = (CONFIG_BOOLEAN(config_look_window_separator_horizontal)
|
||||||
&& (window->win_y + window->win_height <
|
&& (window->win_y + window->win_height <
|
||||||
gui_window_get_height () - gui_bar_root_get_size (NULL, GUI_BAR_POSITION_BOTTOM) - 1))
|
gui_window_get_height () - gui_bar_root_get_size (NULL, GUI_BAR_POSITION_BOTTOM) - 1));
|
||||||
|
separator_vertical = (CONFIG_BOOLEAN(config_look_window_separator_vertical)
|
||||||
|
&& (window->win_x > gui_bar_root_get_size (NULL, GUI_BAR_POSITION_LEFT)));
|
||||||
|
|
||||||
|
/* create/draw horizontal separator */
|
||||||
|
if (separator_horizontal)
|
||||||
{
|
{
|
||||||
|
x = (separator_vertical) ? window->win_x - 1 : window->win_x;
|
||||||
|
width = (separator_vertical) ? window->win_width + 1 : window->win_width;
|
||||||
GUI_WINDOW_OBJECTS(window)->win_separator_horiz = newwin (1,
|
GUI_WINDOW_OBJECTS(window)->win_separator_horiz = newwin (1,
|
||||||
window->win_width,
|
width,
|
||||||
window->win_y + window->win_height,
|
window->win_y + window->win_height,
|
||||||
window->win_x);
|
x);
|
||||||
gui_window_set_weechat_color (GUI_WINDOW_OBJECTS(window)->win_separator_horiz,
|
gui_window_set_weechat_color (GUI_WINDOW_OBJECTS(window)->win_separator_horiz,
|
||||||
GUI_COLOR_SEPARATOR);
|
GUI_COLOR_SEPARATOR);
|
||||||
separator = ACS_HLINE;
|
separator_char = ACS_HLINE;
|
||||||
if (CONFIG_STRING(config_look_separator_horizontal)
|
if (CONFIG_STRING(config_look_separator_horizontal)
|
||||||
&& CONFIG_STRING(config_look_separator_horizontal)[0])
|
&& CONFIG_STRING(config_look_separator_horizontal)[0])
|
||||||
{
|
{
|
||||||
separator = utf8_char_int (CONFIG_STRING(config_look_separator_horizontal));
|
separator_char = utf8_char_int (CONFIG_STRING(config_look_separator_horizontal));
|
||||||
if (separator > 127)
|
if (separator_char > 127)
|
||||||
separator = ACS_VLINE;
|
separator_char = ACS_VLINE;
|
||||||
}
|
}
|
||||||
mvwhline (GUI_WINDOW_OBJECTS(window)->win_separator_horiz, 0, 0,
|
mvwhline (GUI_WINDOW_OBJECTS(window)->win_separator_horiz, 0, 0,
|
||||||
separator, window->win_width);
|
separator_char, width);
|
||||||
wnoutrefresh (GUI_WINDOW_OBJECTS(window)->win_separator_horiz);
|
wnoutrefresh (GUI_WINDOW_OBJECTS(window)->win_separator_horiz);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* create/draw vertical separator */
|
/* create/draw vertical separator */
|
||||||
if (CONFIG_BOOLEAN(config_look_window_separator_vertical)
|
if (separator_vertical)
|
||||||
&& (window->win_x > gui_bar_root_get_size (NULL, GUI_BAR_POSITION_LEFT)))
|
|
||||||
{
|
{
|
||||||
GUI_WINDOW_OBJECTS(window)->win_separator_vertic = newwin (window->win_height,
|
GUI_WINDOW_OBJECTS(window)->win_separator_vertic = newwin (window->win_height,
|
||||||
1,
|
1,
|
||||||
@ -1014,16 +1020,16 @@ gui_window_draw_separators (struct t_gui_window *window)
|
|||||||
window->win_x - 1);
|
window->win_x - 1);
|
||||||
gui_window_set_weechat_color (GUI_WINDOW_OBJECTS(window)->win_separator_vertic,
|
gui_window_set_weechat_color (GUI_WINDOW_OBJECTS(window)->win_separator_vertic,
|
||||||
GUI_COLOR_SEPARATOR);
|
GUI_COLOR_SEPARATOR);
|
||||||
separator = ACS_VLINE;
|
separator_char = ACS_VLINE;
|
||||||
if (CONFIG_STRING(config_look_separator_vertical)
|
if (CONFIG_STRING(config_look_separator_vertical)
|
||||||
&& CONFIG_STRING(config_look_separator_vertical)[0])
|
&& CONFIG_STRING(config_look_separator_vertical)[0])
|
||||||
{
|
{
|
||||||
separator = utf8_char_int (CONFIG_STRING(config_look_separator_vertical));
|
separator_char = utf8_char_int (CONFIG_STRING(config_look_separator_vertical));
|
||||||
if (separator > 127)
|
if (separator_char > 127)
|
||||||
separator = ACS_VLINE;
|
separator_char = ACS_VLINE;
|
||||||
}
|
}
|
||||||
mvwvline (GUI_WINDOW_OBJECTS(window)->win_separator_vertic, 0, 0,
|
mvwvline (GUI_WINDOW_OBJECTS(window)->win_separator_vertic, 0, 0,
|
||||||
separator, window->win_height);
|
separator_char, window->win_height);
|
||||||
wnoutrefresh (GUI_WINDOW_OBJECTS(window)->win_separator_vertic);
|
wnoutrefresh (GUI_WINDOW_OBJECTS(window)->win_separator_vertic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1735,7 +1741,7 @@ gui_window_split_vertical (struct t_gui_window *window, int percentage)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Resizes window.
|
* Resizes a window.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user