Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package tmux for openSUSE:Factory checked in at 2026-05-25 21:53:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tmux (Old) and /work/SRC/openSUSE:Factory/.tmux.new.2084 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tmux" Mon May 25 21:53:40 2026 rev:64 rq:1354965 version:3.6b Changes: -------- --- /work/SRC/openSUSE:Factory/tmux/tmux.changes 2025-12-11 18:32:13.366501525 +0100 +++ /work/SRC/openSUSE:Factory/.tmux.new.2084/tmux.changes 2026-05-25 21:56:53.053163756 +0200 @@ -1,0 +2,7 @@ +Thu May 21 09:25:15 UTC 2026 - Fredrik Lönnegren <[email protected]> + +- tmux 3.6b: + * Remove images from the correct list when they are removed while in the + alternate screen. + +------------------------------------------------------------------- Old: ---- tmux-3.6a.tar.gz New: ---- tmux-3.6b.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tmux.spec ++++++ --- /var/tmp/diff_new_pack.UwhDyP/_old 2026-05-25 21:56:53.825195514 +0200 +++ /var/tmp/diff_new_pack.UwhDyP/_new 2026-05-25 21:56:53.825195514 +0200 @@ -18,7 +18,7 @@ Name: tmux -Version: 3.6a +Version: 3.6b Release: 0 Summary: Terminal multiplexer License: ISC AND BSD-3-Clause AND BSD-2-Clause ++++++ tmux-3.6a.tar.gz -> tmux-3.6b.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tmux-3.6a/CHANGES new/tmux-3.6b/CHANGES --- old/tmux-3.6a/CHANGES 2025-12-05 06:39:41.000000000 +0100 +++ new/tmux-3.6b/CHANGES 2026-05-20 17:38:14.000000000 +0200 @@ -1,3 +1,8 @@ +CHANGES FROM 3.6a TO 3.6b + +* Remove images from the correct list when they are removed while in the + alternate screen (reported by xlabai at tencent dot com). + CHANGES FROM 3.6 TO 3.6a * Fix a buffer overread and an infinite loop in format processing (reported by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tmux-3.6a/configure new/tmux-3.6b/configure --- old/tmux-3.6a/configure 2025-12-05 06:48:18.000000000 +0100 +++ new/tmux-3.6b/configure 2026-05-20 17:40:32.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for tmux 3.6a. +# Generated by GNU Autoconf 2.69 for tmux 3.6b. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -577,8 +577,8 @@ # Identity of this package. PACKAGE_NAME='tmux' PACKAGE_TARNAME='tmux' -PACKAGE_VERSION='3.6a' -PACKAGE_STRING='tmux 3.6a' +PACKAGE_VERSION='3.6b' +PACKAGE_STRING='tmux 3.6b' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1386,7 +1386,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures tmux 3.6a to adapt to many kinds of systems. +\`configure' configures tmux 3.6b to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1457,7 +1457,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of tmux 3.6a:";; + short | recursive ) echo "Configuration of tmux 3.6b:";; esac cat <<\_ACEOF @@ -1615,7 +1615,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -tmux configure 3.6a +tmux configure 3.6b generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2026,7 +2026,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by tmux $as_me 3.6a, which was +It was created by tmux $as_me 3.6b, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2892,7 +2892,7 @@ # Define the identity of the package. PACKAGE='tmux' - VERSION='3.6a' + VERSION='3.6b' cat >>confdefs.h <<_ACEOF @@ -8949,7 +8949,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by tmux $as_me 3.6a, which was +This file was extended by tmux $as_me 3.6b, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -9006,7 +9006,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -tmux config.status 3.6a +tmux config.status 3.6b configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tmux-3.6a/configure.ac new/tmux-3.6b/configure.ac --- old/tmux-3.6a/configure.ac 2025-12-05 06:37:44.000000000 +0100 +++ new/tmux-3.6b/configure.ac 2026-05-20 17:39:26.000000000 +0200 @@ -1,6 +1,6 @@ # configure.ac -AC_INIT([tmux], 3.6a) +AC_INIT([tmux], 3.6b) AC_PREREQ([2.60]) AC_CONFIG_AUX_DIR(etc) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tmux-3.6a/image.c new/tmux-3.6b/image.c --- old/tmux-3.6a/image.c 2023-08-22 09:44:11.000000000 +0200 +++ new/tmux-3.6b/image.c 2026-05-20 17:39:00.000000000 +0200 @@ -25,6 +25,7 @@ static struct images all_images = TAILQ_HEAD_INITIALIZER(all_images); static u_int all_images_count; +#define MAX_IMAGE_COUNT 20 static void image_free(struct image *im) @@ -34,7 +35,7 @@ TAILQ_REMOVE(&all_images, im, all_entry); all_images_count--; - TAILQ_REMOVE(&s->images, im, entry); + TAILQ_REMOVE(im->list, im, entry); sixel_free(im->data); free(im->fallback); free(im); @@ -108,10 +109,11 @@ image_fallback(&im->fallback, im->sx, im->sy); - TAILQ_INSERT_TAIL(&s->images, im, entry); + im->list = &s->images; + TAILQ_INSERT_TAIL(im->list, im, entry); TAILQ_INSERT_TAIL(&all_images, im, all_entry); - if (++all_images_count == 10/*XXX*/) + if (++all_images_count == MAX_IMAGE_COUNT) image_free(TAILQ_FIRST(&all_images)); return (im); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tmux-3.6a/screen.c new/tmux-3.6b/screen.c --- old/tmux-3.6a/screen.c 2025-12-02 15:25:05.000000000 +0100 +++ new/tmux-3.6b/screen.c 2026-05-20 17:39:00.000000000 +0200 @@ -633,7 +633,10 @@ void screen_alternate_on(struct screen *s, struct grid_cell *gc, int cursor) { - u_int sx, sy; + u_int sx, sy; +#ifdef ENABLE_SIXEL + struct image *im; +#endif if (SCREEN_IS_ALTERNATE(s)) return; @@ -650,6 +653,8 @@ #ifdef ENABLE_SIXEL TAILQ_CONCAT(&s->saved_images, &s->images, entry); + TAILQ_FOREACH(im, &s->saved_images, entry) + im->list = &s->saved_images; #endif grid_view_clear(s->grid, 0, 0, sx, sy, 8); @@ -662,7 +667,10 @@ void screen_alternate_off(struct screen *s, struct grid_cell *gc, int cursor) { - u_int sx = screen_size_x(s), sy = screen_size_y(s); + u_int sx = screen_size_x(s), sy = screen_size_y(s); +#ifdef ENABLE_SIXEL + struct image *im; +#endif /* * If the current size is different, temporarily resize to the old size @@ -709,6 +717,8 @@ #ifdef ENABLE_SIXEL image_free_all(s); TAILQ_CONCAT(&s->images, &s->saved_images, entry); + TAILQ_FOREACH(im, &s->images, entry) + im->list = &s->images; #endif if (s->cx > screen_size_x(s) - 1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tmux-3.6a/tmux.h new/tmux-3.6b/tmux.h --- old/tmux-3.6a/tmux.h 2025-12-05 06:37:44.000000000 +0100 +++ new/tmux-3.6b/tmux.h 2026-05-20 17:39:00.000000000 +0200 @@ -936,8 +936,10 @@ u_int sx; u_int sy; - TAILQ_ENTRY (image) all_entry; + struct images *list; TAILQ_ENTRY (image) entry; + + TAILQ_ENTRY (image) all_entry; }; TAILQ_HEAD(images, image); #endif
