1From e7bbf72544ab62db9c92bfe7bd1155227e78c621 Mon Sep 17 00:00:00 2001
2From: Andrew Borodin <aborodin@vmail.ru>
3Date: Sat, 28 Aug 2021 11:46:53 +0300
4Subject: [PATCH] Ticket #4200: fix FTBFS with ncurses build with
5 --disable-widec.
6
7Upstream-Status: Accepted [https://github.com/MidnightCommander/mc/commit/e7bbf72544]
8Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
9---
10 lib/tty/tty-ncurses.c   | 8 ++++++++
11 lib/tty/tty-ncurses.h   | 5 +++++
12 lib/tty/tty-slang.h     | 2 ++
13 src/filemanager/boxes.c | 2 ++
14 4 files changed, 17 insertions(+)
15
16diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c
17index f619c0a7bf31..13058a624208 100644
18--- a/lib/tty/tty-ncurses.c
19+++ b/lib/tty/tty-ncurses.c
20@@ -560,6 +560,7 @@ tty_fill_region (int y, int x, int rows, int cols, unsigned char ch)
21 void
22 tty_colorize_area (int y, int x, int rows, int cols, int color)
23 {
24+#ifdef ENABLE_SHADOWS
25     cchar_t *ctext;
26     wchar_t wch[10];            /* TODO not sure if the length is correct */
27     attr_t attrs;
28@@ -585,6 +586,13 @@ tty_colorize_area (int y, int x, int rows, int cols, int color)
29     }
30
31     g_free (ctext);
32+#else
33+    (void) y;
34+    (void) x;
35+    (void) rows;
36+    (void) cols;
37+    (void) color;
38+#endif /* ENABLE_SHADOWS */
39 }
40
41 /* --------------------------------------------------------------------------------------------- */
42diff --git a/lib/tty/tty-ncurses.h b/lib/tty/tty-ncurses.h
43index d75df9533ab9..8feb17ccd045 100644
44--- a/lib/tty/tty-ncurses.h
45+++ b/lib/tty/tty-ncurses.h
46@@ -30,6 +30,11 @@
47 #define NCURSES_CONST const
48 #endif
49
50+/* do not draw shadows if NCurses is built with --disable-widec */
51+#if defined(NCURSES_WIDECHAR) && NCURSES_WIDECHAR
52+#define ENABLE_SHADOWS 1
53+#endif
54+
55 /*** typedefs(not structures) and defined constants **********************************************/
56
57 /*** enums ***************************************************************************************/
58diff --git a/lib/tty/tty-slang.h b/lib/tty/tty-slang.h
59index 5b12c6512853..eeaade388af4 100644
60--- a/lib/tty/tty-slang.h
61+++ b/lib/tty/tty-slang.h
62@@ -23,6 +23,8 @@
63 #define COLS  SLtt_Screen_Cols
64 #define LINES SLtt_Screen_Rows
65
66+#define ENABLE_SHADOWS 1
67+
68 /*** enums ***************************************************************************************/
69
70 enum
71diff --git a/src/filemanager/boxes.c b/src/filemanager/boxes.c
72index 3eb525be4a9b..98df5ff2ed9a 100644
73--- a/src/filemanager/boxes.c
74+++ b/src/filemanager/boxes.c
75@@ -280,7 +280,9 @@ appearance_box_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm
76     switch (msg)
77     {
78     case MSG_INIT:
79+#ifdef ENABLE_SHADOWS
80         if (!tty_use_colors ())
81+#endif
82         {
83             Widget *shadow;
84
85--
862.34.1
87
88