From 5910bcf3c827cf47843d4221f2dd0f15e90f0ffa Mon Sep 17 00:00:00 2001 From: Simmo Saan Date: Sat, 4 May 2019 14:31:11 +0300 Subject: [PATCH] gui: fix wbkgrndset for non-wide ncurses by fallback to wbkgdset (issue #1343) cchar_t, setcchar and wbkgrndset are actually widec ncurses features, not ext-colors features, but NCURSES_WIDECHAR doesn't accurately reflect their existence so NCURSES_EXT_COLORS is used instead. --- src/gui/curses/gui-curses-window.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gui/curses/gui-curses-window.c b/src/gui/curses/gui-curses-window.c index 23cbcca53..e5be8e751 100644 --- a/src/gui/curses/gui-curses-window.c +++ b/src/gui/curses/gui-curses-window.c @@ -193,9 +193,13 @@ gui_window_clear (WINDOW *window, int fg, int bg) else bg = gui_weechat_colors[bg & GUI_COLOR_EXTENDED_MASK].background; +#ifdef NCURSES_EXT_COLORS cchar_t c; setcchar (&c, L" ", attrs, gui_color_get_pair (fg, bg), NULL); wbkgrndset (window, &c); +#else + wbkgdset (window, ' ' | COLOR_PAIR (gui_color_get_pair (fg, bg)) | attrs); +#endif werase (window); wmove (window, 0, 0); } @@ -207,10 +211,16 @@ gui_window_clear (WINDOW *window, int fg, int bg) void gui_window_clrtoeol (WINDOW *window) { +#ifdef NCURSES_EXT_COLORS cchar_t c; setcchar (&c, L" ", A_NORMAL, gui_color_get_pair (gui_window_current_style_fg, gui_window_current_style_bg), NULL); wbkgrndset (window, &c); +#else + wbkgdset (window, + ' ' | COLOR_PAIR (gui_color_get_pair (gui_window_current_style_fg, + gui_window_current_style_bg))); +#endif wclrtoeol (window); }