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)

Reply via email to