Commit e071d8eec for imagemagick.org
commit e071d8eecd875b237dee54a5a27f7e1d0b85ae2a
Author: Cristy <urban-warrior@imagemagick.org>
Date: Sun Oct 18 10:00:07 2026 -0400
https://github.com/ImageMagick/ImageMagick/issues/9041
diff --git a/MagickCore/composite.c b/MagickCore/composite.c
index 42de176ed..1761775cf 100644
--- a/MagickCore/composite.c
+++ b/MagickCore/composite.c
@@ -1089,6 +1089,8 @@ static MagickBooleanType CompositeOverImage(Image *image,
/*
Set alpha channel.
*/
+ if ((traits & UpdatePixelTrait) == 0)
+ continue;
pixel=(double) QuantumRange*alpha;
q[i]=clamp != MagickFalse ? ClampPixel(pixel) :
ClampToQuantum(pixel);
@@ -1105,7 +1107,7 @@ static MagickBooleanType CompositeOverImage(Image *image,
/*
Copy channel.
*/
- q[i]=ClampToQuantum(Sc);
+ q[i]=ClampToQuantum(Dc);
continue;
}
/*
@@ -1590,7 +1592,8 @@ MagickExport MagickBooleanType CompositeImage(Image *image,
channel);
PixelTrait traits = GetPixelChannelTraits(image,channel);
if ((source_traits == UndefinedPixelTrait) ||
- (traits == UndefinedPixelTrait))
+ (traits == UndefinedPixelTrait) ||
+ ((traits & UpdatePixelTrait) == 0))
continue;
SetPixelChannel(image,channel,p[i],q);
}
diff --git a/PerlMagick/demo/shuffle.pl b/PerlMagick/demo/shuffle.pl
index f74013f8c..ae5653924 100644
--- a/PerlMagick/demo/shuffle.pl
+++ b/PerlMagick/demo/shuffle.pl
@@ -30,6 +30,6 @@ foreach my $img (@$image) {
$image->Write('ashlar:shuffle.pam');
print "Display...\n";
my $shuffle = Image::Magick->new();
-my $status = $shuffle->Read('shuffle.pam');
+$status = $shuffle->Read('shuffle.pam');
$shuffle->Write(magick=>'SHOW',title=>"Shuffle");