Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: a...@debian.org


[ Reason ]

Fixing Debian bug #1041406 in Bookworm. imlib_clone_image()
no longer preserves the alpha channel flag.

[ Impact ]

This was an unintentional upstream change which also affects
libimage-imlib2-perl and every developer who relies on the preservation of
the alpha channel flag in imlib_clone_image()

[ Tests ]

Debian bug #1041406 has a test program attached which demonstrates the
regression in Bookworm and that 1.10.0-4+deb12u1 contains the fix.

[ Risks ]

Low. This is a straightforward fix with a clear reproducer.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable


Regards,

Markus
diff -Nru imlib2-1.10.0/debian/changelog imlib2-1.10.0/debian/changelog
--- imlib2-1.10.0/debian/changelog      2023-01-02 23:10:40.000000000 +0100
+++ imlib2-1.10.0/debian/changelog      2023-08-22 22:52:24.000000000 +0200
@@ -1,3 +1,10 @@
+imlib2 (1.10.0-4+deb12u1) bookworm; urgency=medium
+
+  *  Fix imlib_clone_image() no longer preserves the alpha channel flag.
+     (Closes: #1041406)
+
+ -- Markus Koschany <a...@debian.org>  Tue, 22 Aug 2023 22:52:24 +0200
+
 imlib2 (1.10.0-4) unstable; urgency=medium
 
   * Really ignore libjxl-dev on s390x.
diff -Nru imlib2-1.10.0/debian/patches/debian-bug-1041406.patch 
imlib2-1.10.0/debian/patches/debian-bug-1041406.patch
--- imlib2-1.10.0/debian/patches/debian-bug-1041406.patch       1970-01-01 
01:00:00.000000000 +0100
+++ imlib2-1.10.0/debian/patches/debian-bug-1041406.patch       2023-08-22 
22:52:24.000000000 +0200
@@ -0,0 +1,38 @@
+From 173edae4bf72e01b0dada41a406d34f976b1fc28 Mon Sep 17 00:00:00 2001
+From: Kim Woelders <k...@woelders.dk>
+Date: Wed, 19 Jul 2023 18:11:08 +0200
+Subject: [PATCH] image: Fix preservation of alpha chanel flag in
+ imlib_clone_image()
+
+https://git.enlightenment.org/old/legacy-imlib2/issues/17:
+
+As per subject, the imlib_clone_image() function no longer preserves
+the alpha channel value since imlib2 1.10.0.
+
+This bug report was initially filed by Niko Tyni in Debian's bug tracker.
+If you follow the subsequent link you will also find a test program that
+demonstrates the regression.
+
+https://bugs.debian.org/1041406
+
+This upstream change is most likely the root cause of the problem
+
+b39d33c800
+
+It looks like an oversight where other functions were adapted
+to the new alpha channel implementation, but imlib_clone_image() remains
+unchanged and only copies the flags and not the new alpha byte.
+---
+ src/lib/api.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/src/lib/api.c
++++ b/src/lib/api.c
+@@ -1017,6 +1017,7 @@ imlib_clone_image(void)
+         return NULL;
+      }
+    memcpy(im->data, im_old->data, im->w * im->h * sizeof(uint32_t));
++   im->has_alpha = im_old->has_alpha;
+    im->flags = im_old->flags;
+    IM_FLAG_SET(im, F_UNCACHEABLE);
+    im->moddate = im_old->moddate;
diff -Nru imlib2-1.10.0/debian/patches/remove-data-dir.patch 
imlib2-1.10.0/debian/patches/remove-data-dir.patch
--- imlib2-1.10.0/debian/patches/remove-data-dir.patch  2023-01-02 
23:10:40.000000000 +0100
+++ imlib2-1.10.0/debian/patches/remove-data-dir.patch  2023-08-22 
22:52:24.000000000 +0200
@@ -10,8 +10,6 @@
  configure.ac | 3 ---
  2 files changed, 1 insertion(+), 4 deletions(-)
 
-diff --git a/Makefile.am b/Makefile.am
-index 3371af3..d93301b 100644
 --- a/Makefile.am
 +++ b/Makefile.am
 @@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = foreign
@@ -23,8 +21,6 @@
  if BUILD_DOC
  SUBDIRS += doc
  endif
-diff --git a/configure.ac b/configure.ac
-index 791f44d..8df303a 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -280,9 +280,6 @@ src/modules/Makefile
diff -Nru imlib2-1.10.0/debian/patches/series 
imlib2-1.10.0/debian/patches/series
--- imlib2-1.10.0/debian/patches/series 2023-01-02 23:10:40.000000000 +0100
+++ imlib2-1.10.0/debian/patches/series 2023-08-22 22:52:24.000000000 +0200
@@ -1 +1,2 @@
 remove-data-dir.patch
+debian-bug-1041406.patch

Reply via email to