diff --git a/MagickCore/quantize.c b/MagickCore/quantize.c
index e50e1ab..f860aa7 100644
--- a/MagickCore/quantize.c
+++ b/MagickCore/quantize.c
@@ -3251,8 +3251,8 @@
color_1=(PixelInfo *) x;
color_2=(PixelInfo *) y;
- intensity=GetPixelInfoIntensity(color_1)-(ssize_t)
- GetPixelInfoIntensity(color_2);
+ intensity=(ssize_t) (GetPixelInfoIntensity(color_1)-(ssize_t)
+ GetPixelInfoIntensity(color_2));
return((int) intensity);
}
diff --git a/MagickCore/threshold.c b/MagickCore/threshold.c
index 6ccc6d0..bb121c7 100644
--- a/MagickCore/threshold.c
+++ b/MagickCore/threshold.c
@@ -1384,7 +1384,7 @@
threshold=(ssize_t) (QuantumScale*q[i]*(levels[n]*(map->divisor-1)+1));
level=threshold/(map->divisor-1);
threshold-=level*(map->divisor-1);
- q[i]=ClampToQuantum((level+(threshold >=
+ q[i]=ClampToQuantum((double) (level+(threshold >=
map->levels[(x % map->width)+map->width*(y % map->height)]))*
QuantumRange/levels[n]);
n++;
diff --git a/MagickCore/xwindow.c b/MagickCore/xwindow.c
index 3a63767..d2c0156 100644
--- a/MagickCore/xwindow.c
+++ b/MagickCore/xwindow.c
@@ -2236,11 +2236,11 @@
break;
for (x=0; x < (int) image->columns; x++)
{
- color.red=(double) ClampToQuantum((red_map[i][j][
+ color.red=(double) ClampToQuantum((double) (red_map[i][j][
(int) ScaleQuantumToChar(GetPixelRed(image,p))] << 8));
- color.green=(double) ClampToQuantum((green_map[i][j][
+ color.green=(double) ClampToQuantum((double) (green_map[i][j][
(int) ScaleQuantumToChar(GetPixelGreen(image,p))] << 8));
- color.blue=(double) ClampToQuantum((blue_map[i][j][
+ color.blue=(double) ClampToQuantum((double) (blue_map[i][j][
(int) ScaleQuantumToChar(GetPixelBlue(image,p))] << 8));
pixel=(size_t) (((size_t) color.red & 0xe0) |
(((size_t) color.green & 0xe0) >> 3) |