Commit 4d7ebd363 for imagemagick.org
commit 4d7ebd363e6e68ed2721e599a35c93a3c217c282
Author: Cristy <urban-warrior@imagemagick.org>
Date: Sun Mar 22 17:41:57 2026 -0400
sync pixels within JPEG coder
diff --git a/MagickCore/constitute.c b/MagickCore/constitute.c
index 4ba839c18..f57f4656f 100644
--- a/MagickCore/constitute.c
+++ b/MagickCore/constitute.c
@@ -46,7 +46,6 @@
#include "MagickCore/exception.h"
#include "MagickCore/exception-private.h"
#include "MagickCore/cache.h"
-#include "MagickCore/cache-private.h"
#include "MagickCore/client.h"
#include "MagickCore/coder-private.h"
#include "MagickCore/colorspace-private.h"
@@ -1281,12 +1280,6 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info,
}
SyncImageProfiles(image);
DisassociateImageStream(image);
- if (image->ping != MagickFalse)
- {
- status=SyncImagePixelCache(image,exception);
- if (status == MagickFalse)
- return(status);
- }
option=GetImageOption(image_info,"delegate:bimodal");
if ((IsStringTrue(option) != MagickFalse) &&
(write_info->page == (char *) NULL) &&
diff --git a/coders/jpeg.c b/coders/jpeg.c
index 755712360..42374f6dc 100644
--- a/coders/jpeg.c
+++ b/coders/jpeg.c
@@ -446,8 +446,8 @@ static void JPEGWarningHandler(j_common_ptr jpeg_info,int level)
}
}
-static MagickBooleanType ReadProfilePayload(j_decompress_ptr jpeg_info,const int index,
- const size_t length)
+static MagickBooleanType ReadProfilePayload(j_decompress_ptr jpeg_info,
+ const int index,const size_t length)
{
ExceptionInfo
*exception;
@@ -2529,6 +2529,8 @@ static MagickBooleanType WriteJPEGImage_(const ImageInfo *image_info,
{
case CMYKColorspace:
{
+ if (image->ping != MagickFalse)
+ (void) SetImageStorageClass(image,DirectClass,exception);
jpeg_info->input_components=4;
jpeg_info->in_color_space=JCS_CMYK;
break;
@@ -3063,7 +3065,8 @@ static MagickBooleanType WriteJPEGImage_(const ImageInfo *image_info,
*/
for (x=0; x < (ssize_t) image->columns; x++)
{
- JPEGSetSample(jpeg_info,ClampToQuantum(GetPixelLuma(image,p)),range,q);
+ JPEGSetSample(jpeg_info,ClampToQuantum(GetPixelLuma(image,p)),range,
+ q);
q+=(ptrdiff_t) bytes_per_pixel;
p+=(ptrdiff_t) GetPixelChannels(image);
}
@@ -3136,8 +3139,9 @@ static MagickBooleanType WriteJPEGImage_(const ImageInfo *image_info,
&jpeg_pixels,1);
}
if (number_scanlines != 1)
- (void) ThrowMagickException(exception,GetMagickModule(),CorruptImageError,
- "AnErrorHasOccurredWritingToFile","`%s'",image->filename);
+ (void) ThrowMagickException(exception,GetMagickModule(),
+ CorruptImageError,"AnErrorHasOccurredWritingToFile","`%s'",
+ image->filename);
status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
image->rows);
if (status == MagickFalse)