Commit 10156885f for imagemagick.org

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

    Make sure the mask is properly respected when setting the alpha channel (#8778)

diff --git a/MagickCore/image.c b/MagickCore/image.c
index 46975944f..58f0b1555 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -2388,6 +2388,9 @@ MagickExport MagickBooleanType SetImageAlpha(Image *image,const Quantum alpha,
   MagickBooleanType
     status;

+  PixelTrait
+    original_mask;
+
   ssize_t
     y;

@@ -2396,6 +2399,9 @@ MagickExport MagickBooleanType SetImageAlpha(Image *image,const Quantum alpha,
   if (IsEventLogging() != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"...");
   image->alpha_trait=BlendPixelTrait;
+  /* Disable mask to make sure that all pixels are changed */
+  original_mask=image->mask_trait;
+  image->mask_trait=UndefinedPixelTrait;
   status=MagickTrue;
   image_view=AcquireAuthenticCacheView(image,exception);
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
@@ -2428,6 +2434,7 @@ MagickExport MagickBooleanType SetImageAlpha(Image *image,const Quantum alpha,
       status=MagickFalse;
   }
   image_view=DestroyCacheView(image_view);
+  image->mask_trait=original_mask;
   return(status);
 }