From e7bbf72544ab62db9c92bfe7bd1155227e78c621 Mon Sep 17 00:00:00 2001 From: Andrew Borodin Date: Sat, 28 Aug 2021 11:46:53 +0300 Subject: [PATCH] Ticket #4200: fix FTBFS with ncurses build with --disable-widec. Upstream-Status: Accepted [https://github.com/MidnightCommander/mc/commit/e7bbf72544] Signed-off-by: Andrew Borodin --- lib/tty/tty-ncurses.c | 8 ++++++++ lib/tty/tty-ncurses.h | 5 +++++ lib/tty/tty-slang.h | 2 ++ src/filemanager/boxes.c | 2 ++ 4 files changed, 17 insertions(+) diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c index f619c0a7bf31..13058a624208 100644 --- a/lib/tty/tty-ncurses.c +++ b/lib/tty/tty-ncurses.c @@ -560,6 +560,7 @@ tty_fill_region (int y, int x, int rows, int cols, unsigned char ch) void tty_colorize_area (int y, int x, int rows, int cols, int color) { +#ifdef ENABLE_SHADOWS cchar_t *ctext; wchar_t wch[10]; /* TODO not sure if the length is correct */ attr_t attrs; @@ -585,6 +586,13 @@ tty_colorize_area (int y, int x, int rows, int cols, int color) } g_free (ctext); +#else + (void) y; + (void) x; + (void) rows; + (void) cols; + (void) color; +#endif /* ENABLE_SHADOWS */ } /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/tty/tty-ncurses.h b/lib/tty/tty-ncurses.h index d75df9533ab9..8feb17ccd045 100644 --- a/lib/tty/tty-ncurses.h +++ b/lib/tty/tty-ncurses.h @@ -30,6 +30,11 @@ #define NCURSES_CONST const #endif +/* do not draw shadows if NCurses is built with --disable-widec */ +#if defined(NCURSES_WIDECHAR) && NCURSES_WIDECHAR +#define ENABLE_SHADOWS 1 +#endif + /*** typedefs(not structures) and defined constants **********************************************/ /*** enums ***************************************************************************************/ diff --git a/lib/tty/tty-slang.h b/lib/tty/tty-slang.h index 5b12c6512853..eeaade388af4 100644 --- a/lib/tty/tty-slang.h +++ b/lib/tty/tty-slang.h @@ -23,6 +23,8 @@ #define COLS SLtt_Screen_Cols #define LINES SLtt_Screen_Rows +#define ENABLE_SHADOWS 1 + /*** enums ***************************************************************************************/ enum diff --git a/src/filemanager/boxes.c b/src/filemanager/boxes.c index 3eb525be4a9b..98df5ff2ed9a 100644 --- a/src/filemanager/boxes.c +++ b/src/filemanager/boxes.c @@ -280,7 +280,9 @@ appearance_box_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm switch (msg) { case MSG_INIT: +#ifdef ENABLE_SHADOWS if (!tty_use_colors ()) +#endif { Widget *shadow; -- 2.34.1