From 1c15caca8f7074671222b9891830c88230b9a5ce Mon Sep 17 00:00:00 2001 From: Jaidyn Ann Date: Mon, 28 Jun 2021 16:40:12 -0500 Subject: Fix ncurses header diff --git a/meson.build b/meson.build index 009aac8..b5c2b68 100644 --- a/meson.build +++ b/meson.build @@ -84,12 +84,17 @@ endif if host_machine.system() == 'windows' # FIXME: $host ? ncurses_sys_prefix = '/usr/$host/sys-root/mingw' +elif host_machine.system() == 'haiku' + ncurses_sys_prefix = \ + run_command('finddir', 'B_SYSTEM_HEADERS_DIRECTORY').stdout().strip() else ncurses_sys_prefix = '/usr' endif ncurses_sys_dirs = [ncurses_sys_prefix + '/include/ncursesw', - ncurses_sys_prefix + '/include'] + ncurses_sys_prefix + '/include', + ncurses_sys_prefix + '/x86', + ncurses_sys_prefix ] if ncurses_available # Some distros put the headers in ncursesw/, some don't -- 2.52.0 From 348158a60843eb62e8aee01a28094381ceefff32 Mon Sep 17 00:00:00 2001 From: Jaidyn Ann Date: Tue, 29 Jun 2021 09:31:31 -0500 Subject: cchat_t gntwm compat diff --git a/gntwm.c b/gntwm.c index ffb1f4a..affe57b 100644 --- a/gntwm.c +++ b/gntwm.c @@ -32,7 +32,7 @@ #define _GNU_SOURCE #endif -#if !defined _XOPEN_SOURCE_EXTENDED && (defined(__APPLE__) || defined(__unix__)) +#if !defined _XOPEN_SOURCE_EXTENDED && (defined(__APPLE__) || defined(__unix__) || defined(__HAIKU__)) #define _XOPEN_SOURCE_EXTENDED #endif -- 2.52.0 From 84868af3901bec580361b5884d52fb1764345dc6 Mon Sep 17 00:00:00 2001 From: Begasus Date: Thu, 8 Jan 2026 08:07:04 +0100 Subject: applying patch libgnt-2.14.3-ncurses-opaque.patch https://bugs.gentoo.org/928976 https://src.fedoraproject.org/rpms/libgnt/blob/rawhide/f/libgnt-2.14.1-gcc-14-fix.patch diff --git a/gntwm.c b/gntwm.c index affe57b..5b50d4c 100644 --- a/gntwm.c +++ b/gntwm.c @@ -166,38 +166,40 @@ work_around_for_ncurses_bug(void) int sx, ex, sy, ey, w, y; cchar_t ch; PANEL *below = panel; + WINDOW *window = panel_window(panel); - sx = getbegx(panel->win); - ex = getmaxx(panel->win) + sx; - sy = getbegy(panel->win); - ey = getmaxy(panel->win) + sy; + sx = getbegx(window); + ex = getmaxx(window) + sx; + sy = getbegy(window); + ey = getmaxy(window) + sy; while ((below = panel_below(below)) != NULL) { - if (sy > getbegy(below->win) + getmaxy(below->win) || - ey < getbegy(below->win)) + window = panel_window(below); + if (sy > getbegy(window) + getmaxy(window) || + ey < getbegy(window)) continue; - if (sx > getbegx(below->win) + getmaxx(below->win) || - ex < getbegx(below->win)) + if (sx > getbegx(window) + getmaxx(window) || + ex < getbegx(window)) continue; - for (y = MAX(sy, getbegy(below->win)); y <= MIN(ey, getbegy(below->win) + getmaxy(below->win)); y++) { - if (mvwin_wch(below->win, y - getbegy(below->win), sx - 1 - getbegx(below->win), &ch) != OK) + for (y = MAX(sy, getbegy(window)); y <= MIN(ey, getbegy(window) + getmaxy(window)); y++) { + if (mvwin_wch(window, y - getbegy(window), sx - 1 - getbegx(window), &ch) != OK) goto right; w = widestringwidth(ch.chars); if (w > 1 && (ch.attr & 1)) { ch.chars[0] = ' '; ch.attr &= ~ A_CHARTEXT; - mvwadd_wch(below->win, y - getbegy(below->win), sx - 1 - getbegx(below->win), &ch); - touchline(below->win, y - getbegy(below->win), 1); + mvwadd_wch(window, y - getbegy(window), sx - 1 - getbegx(window), &ch); + touchline(window, y - getbegy(window), 1); } right: - if (mvwin_wch(below->win, y - getbegy(below->win), ex + 1 - getbegx(below->win), &ch) != OK) + if (mvwin_wch(window, y - getbegy(window), ex + 1 - getbegx(window), &ch) != OK) continue; w = widestringwidth(ch.chars); if (w > 1 && !(ch.attr & 1)) { ch.chars[0] = ' '; ch.attr &= ~ A_CHARTEXT; - mvwadd_wch(below->win, y - getbegy(below->win), ex + 1 - getbegx(below->win), &ch); - touchline(below->win, y - getbegy(below->win), 1); + mvwadd_wch(window, y - getbegy(window), ex + 1 - getbegx(window), &ch); + touchline(window, y - getbegy(window), 1); } } } -- 2.52.0