Commit e9dcf3a10 for imagemagick.org

commit e9dcf3a10eec6bb64df2091bfe2bb8c517e6d379
Author: Dirk Lemstra <dirk@lemstra.org>
Date:   Thu Jun 4 20:50:07 2026 +0200

    Minor optimization of the ClipPixelCacheNexus method.

diff --git a/MagickCore/cache.c b/MagickCore/cache.c
index 9e810314e..2e7854d2f 100644
--- a/MagickCore/cache.c
+++ b/MagickCore/cache.c
@@ -451,25 +451,39 @@ static MagickBooleanType ClipPixelCacheNexus(Image *image,
     for (x=0; x < (ssize_t) nexus_info->region.width; x++)
     {
       double
-        mask_alpha;
+        mask;

       ssize_t
         i;

-      mask_alpha=QuantumScale*(double) GetPixelWriteMask(image,p);
-      if (fabs(mask_alpha) >= MagickEpsilon)
+      mask=(double) GetPixelWriteMask(image,p);
+      if (fabs(mask) >= MagickEpsilon)
         {
+          double
+            mask_alpha,
+            dst_alpha;
+
+          Quantum
+            src_alpha;
+
+          src_alpha=GetPixelAlpha(image,p);
+          mask_alpha=QuantumScale*mask*(double) src_alpha;
+          dst_alpha=(double) GetPixelAlpha(image,q);
           for (i=0; i < (ssize_t) image->number_channels; i++)
           {
+            PixelTrait
+              traits;
+
             PixelChannel channel = GetPixelChannelChannel(image,i);
-            PixelTrait traits = GetPixelChannelTraits(image,channel);
+            if (channel == AlphaPixelChannel)
+              continue;
+            traits=GetPixelChannelTraits(image,channel);
             if ((traits & UpdatePixelTrait) == 0)
               continue;
-            q[i]=ClampToQuantum(MagickOver_((double) p[i],mask_alpha*(double)
-              GetPixelAlpha(image,p),(double) q[i],(double)
-              GetPixelAlpha(image,q)));
+            q[i]=ClampToQuantum(MagickOver_((double) p[i],mask_alpha,
+              (double) q[i],dst_alpha));
           }
-          SetPixelAlpha(image,GetPixelAlpha(image,p),q);
+          SetPixelAlpha(image,src_alpha,q);
         }
       p+=(ptrdiff_t) GetPixelChannels(image);
       q+=(ptrdiff_t) GetPixelChannels(image);