Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ncurses for openSUSE:Factory checked in at 2026-04-16 17:24:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ncurses (Old) and /work/SRC/openSUSE:Factory/.ncurses.new.11940 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ncurses" Thu Apr 16 17:24:58 2026 rev:328 rq:1346180 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/ncurses/ncurses.changes 2026-04-07 16:31:25.341163607 +0200 +++ /work/SRC/openSUSE:Factory/.ncurses.new.11940/ncurses.changes 2026-04-16 17:24:59.890560718 +0200 @@ -1,0 +2,6 @@ +Sun Apr 5 12:41:35 UTC 2026 - Michael Pujos <[email protected]> + +- added fix-mouse.patch to fix regression introduced in patch 20260301 + causing htop to crash (boo#1253379) + +------------------------------------------------------------------- New: ---- fix-mouse.patch ----------(New B)---------- New: - added fix-mouse.patch to fix regression introduced in patch 20260301 causing htop to crash (boo#1253379) ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ncurses.spec ++++++ --- /var/tmp/diff_new_pack.XOP3ZX/_old 2026-04-16 17:25:02.258658282 +0200 +++ /var/tmp/diff_new_pack.XOP3ZX/_new 2026-04-16 17:25:02.258658282 +0200 @@ -112,6 +112,7 @@ Patch2: ncurses-5.7-tack.dif Patch3: FORTIFY_SOURCE_3-fix.patch Patch4: ncurses-6.5-ghostty.dif +Patch5: fix-mouse.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _miscdir %{_datadir}/misc %global _incdir %{_includedir} @@ -295,7 +296,7 @@ %package -n terminfo Summary: A terminal descriptions database -License: SUSE-Public-Domain +License: LicenseRef-SUSE-Public-Domain Group: System/Base Requires: terminfo-base = %{version} @@ -400,6 +401,7 @@ %patch -P0 -p0 -b .p0 %patch -P3 -p1 %patch -P4 -p0 +%patch -P5 -p1 -F 10 %build LANG=C.UTF-8 ++++++ fix-mouse.patch ++++++ --- a/ncurses/base/lib_mouse.c +++ b/ncurses/base/lib_mouse.c @@ -892,40 +892,43 @@ _nc_mouse_event(SCREEN *sp) #if USE_SYSMOUSE case M_SYSMOUSE: if (sp->_sysmouse_head < sp->_sysmouse_tail) { + *eventp = sp->_sysmouse_fifo[sp->_sysmouse_head]; /* * Point the fifo-head to the next possible location. If there * are none, reset the indices. This may be interrupted by the * signal handler, doing essentially the same reset. */ sp->_sysmouse_head += 1; if (sp->_sysmouse_head == sp->_sysmouse_tail) { sp->_sysmouse_tail = 0; sp->_sysmouse_head = 0; } /* bump the next-free pointer into the circular list */ sp->_mouse_write++; result = TRUE; } break; #endif /* USE_SYSMOUSE */ #if USE_TERM_DRIVER case M_TERM_DRIVER: while (sp->_drv_mouse_head < sp->_drv_mouse_tail) { + *eventp = sp->_drv_mouse_fifo[sp->_drv_mouse_head]; /* * Point the fifo-head to the next possible location. If there * are none, reset the indices. */ sp->_drv_mouse_head += 1; if (sp->_drv_mouse_head == sp->_drv_mouse_tail) { sp->_drv_mouse_tail = 0; sp->_drv_mouse_head = 0; } /* bump the next-free pointer into the circular list */ sp->_mouse_write++; + eventp = EventAt(sp, sp->_mouse_write); result = TRUE; } break; #endif @@ -1746,4 +1749,5 @@ _nc_mouse_parse(SCREEN *sp, int runcount) * with. The same issue applies to first_valid and _mouse_read. */ - while (!ValidEvent(EventAt(sp, sp->_mouse_read))) { + while (sp->_mouse_read != sp->_mouse_write && + !ValidEvent(EventAt(sp, sp->_mouse_read))) { sp->_mouse_read++; } (No newline at EOF)
