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");