From 9152cab64f79fa581839c480fed81c1a4210fe16 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 17 Sep 2026 09:22:40 +1000 Subject: [PATCH 1/2] Mark Python palette as dirty after conversion to WEB palette --- Tests/test_image_convert.py | 2 +- src/PIL/Image.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Tests/test_image_convert.py b/Tests/test_image_convert.py index f596f009025..c0dbb4fabaa 100644 --- a/Tests/test_image_convert.py +++ b/Tests/test_image_convert.py @@ -293,7 +293,7 @@ def test_p2pa_alpha() -> None: def test_p2pa_palette() -> None: with Image.open("Tests/images/tiny.png") as im: im_pa = im.convert("PA") - assert im_pa.getpalette() == im.getpalette() + assert im_pa.getpalette(None) == im.getpalette() rgb2xyz_matrix = ( diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 51ff69ed521..092f09e5215 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1250,6 +1250,7 @@ def convert_transparency( from . import ImagePalette new_im.palette = ImagePalette.ImagePalette("RGB", im.getpalette("RGB")) + new_im.palette.dirty = 1 if delete_trns: # crash fail if we leave a bytes transparency in an rgb/l mode. del new_im.info["transparency"] From 261d30a343f06bca284d696bbe69497fc66efa82 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 21 Sep 2026 14:38:26 +1000 Subject: [PATCH 2/2] Simplify code --- src/PIL/Image.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 62eceb231db..62a3317a376 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1249,8 +1249,7 @@ def convert_transparency( if mode in ("P", "PA") and palette != Palette.ADAPTIVE: from . import ImagePalette - new_im.palette = ImagePalette.ImagePalette("RGB", im.getpalette("RGB")) - new_im.palette.dirty = 1 + new_im.palette = ImagePalette.raw("RGB", im.getpalette("RGB")) if delete_trns: # crash fail if we leave a bytes transparency in an rgb/l mode. del new_im.info["transparency"]