diff --git a/MagickCore/effect.c b/MagickCore/effect.c
index e396ba4..3127dcd 100644
--- a/MagickCore/effect.c
+++ b/MagickCore/effect.c
@@ -344,14 +344,8 @@
(ssize_t) ((width-j)/2L),width-j,width-j,exception);
if (p == (const Quantum *) NULL)
break;
- center=(ssize_t) GetPixelChannels(image)*(width-j)*
- ((width-j)/2L)+GetPixelChannels(image)*((width-j)/2L);
- if (GetPixelMask(image,q) != 0)
- {
- q+=GetPixelChannels(blur_image);
- r+=GetPixelChannels(edge_image);
- continue;
- }
+ center=(ssize_t) GetPixelChannels(image)*(width-j)*((width-j)/2L)+
+ GetPixelChannels(image)*((width-j)/2L);
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
MagickRealType
@@ -384,7 +378,8 @@
if ((traits == UndefinedPixelTrait) ||
(blur_traits == UndefinedPixelTrait))
continue;
- if ((blur_traits & CopyPixelTrait) != 0)
+ if (((blur_traits & CopyPixelTrait) != 0) ||
+ (GetPixelMask(image,q) != 0))
{
SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
@@ -672,14 +667,8 @@
(ssize_t) ((width-j)/2L),width-j,width-j,exception);
if (p == (const Quantum *) NULL)
break;
- center=(ssize_t) GetPixelChannels(image)*(width-j)*
- ((width-j)/2L)+GetPixelChannels(image)*((width-j)/2);
- if (GetPixelMask(sharp_image,q) != 0)
- {
- q+=GetPixelChannels(sharp_image);
- r+=GetPixelChannels(edge_image);
- continue;
- }
+ center=(ssize_t) GetPixelChannels(image)*(width-j)*((width-j)/2L)+
+ GetPixelChannels(image)*((width-j)/2);
for (i=0; i < (ssize_t) GetPixelChannels(sharp_image); i++)
{
MagickRealType
@@ -712,7 +701,8 @@
if ((traits == UndefinedPixelTrait) ||
(sharp_traits == UndefinedPixelTrait))
continue;
- if ((sharp_traits & CopyPixelTrait) != 0)
+ if (((sharp_traits & CopyPixelTrait) != 0) ||
+ (GetPixelMask(image,q) != 0))
{
SetPixelChannel(sharp_image,channel,p[center+i],q);
continue;
@@ -984,12 +974,6 @@
register ssize_t
i;
- if (GetPixelMask(image,p) != 0)
- {
- p+=GetPixelChannels(image);
- q+=GetPixelChannels(blur_image);
- continue;
- }
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
MagickRealType
@@ -1019,7 +1003,8 @@
if ((traits == UndefinedPixelTrait) ||
(blur_traits == UndefinedPixelTrait))
continue;
- if ((blur_traits & CopyPixelTrait) != 0)
+ if (((blur_traits & CopyPixelTrait) != 0) ||
+ (GetPixelMask(image,p) != 0))
{
SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
@@ -1112,12 +1097,6 @@
register ssize_t
i;
- if (GetPixelMask(blur_image,p) != 0)
- {
- p+=GetPixelChannels(blur_image);
- q+=GetPixelChannels(blur_image);
- continue;
- }
for (i=0; i < (ssize_t) GetPixelChannels(blur_image); i++)
{
MagickRealType
@@ -1147,7 +1126,8 @@
if ((traits == UndefinedPixelTrait) ||
(blur_traits == UndefinedPixelTrait))
continue;
- if ((blur_traits & CopyPixelTrait) != 0)
+ if (((blur_traits & CopyPixelTrait) != 0) ||
+ (GetPixelMask(blur_image,p) != 0))
{
SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
@@ -1360,12 +1340,6 @@
register ssize_t
i;
- if (GetPixelMask(image,p) != 0)
- {
- p+=GetPixelChannels(image);
- q+=GetPixelChannels(convolve_image);
- continue;
- }
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
MagickRealType
@@ -1398,7 +1372,8 @@
if ((traits == UndefinedPixelTrait) ||
(convolve_traits == UndefinedPixelTrait))
continue;
- if ((convolve_traits & CopyPixelTrait) != 0)
+ if (((convolve_traits & CopyPixelTrait) != 0) ||
+ (GetPixelMask(image,p) != 0))
{
SetPixelChannel(convolve_image,channel,p[center+i],q);
continue;
@@ -2212,12 +2187,6 @@
register ssize_t
i;
- if (GetPixelMask(image,p) != 0)
- {
- p+=GetPixelChannels(image);
- q+=GetPixelChannels(blur_image);
- continue;
- }
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
MagickRealType
@@ -2247,7 +2216,8 @@
if ((traits == UndefinedPixelTrait) ||
(blur_traits == UndefinedPixelTrait))
continue;
- if ((blur_traits & CopyPixelTrait) != 0)
+ if (((blur_traits & CopyPixelTrait) != 0) ||
+ (GetPixelMask(image,p) != 0))
{
SetPixelChannel(blur_image,channel,p[i],q);
continue;
@@ -3016,12 +2986,6 @@
if (step >= n)
step=n-1;
}
- if (GetPixelMask(image,p) != 0)
- {
- p+=GetPixelChannels(image);
- q+=GetPixelChannels(blur_image);
- continue;
- }
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
MagickRealType
@@ -3047,7 +3011,8 @@
if ((traits == UndefinedPixelTrait) ||
(blur_traits == UndefinedPixelTrait))
continue;
- if ((blur_traits & CopyPixelTrait) != 0)
+ if (((blur_traits & CopyPixelTrait) != 0) ||
+ (GetPixelMask(image,p) != 0))
{
SetPixelChannel(blur_image,channel,p[i],q);
continue;
@@ -3298,12 +3263,6 @@
register ssize_t
i;
- if (GetPixelMask(image,p) != 0)
- {
- p+=GetPixelChannels(image);
- q+=GetPixelChannels(blur_image);
- continue;
- }
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
MagickRealType
@@ -3337,7 +3296,8 @@
if ((traits == UndefinedPixelTrait) ||
(blur_traits == UndefinedPixelTrait))
continue;
- if ((blur_traits & CopyPixelTrait) != 0)
+ if (((blur_traits & CopyPixelTrait) != 0) ||
+ (GetPixelMask(image,p) != 0))
{
SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
@@ -3590,14 +3550,6 @@
shade=distance/sqrt((double) normal_distance);
}
}
- if (GetPixelMask(image,pre) != 0)
- {
- pre+=GetPixelChannels(image);
- center+=GetPixelChannels(image);
- post+=GetPixelChannels(image);
- q+=GetPixelChannels(shade_image);
- continue;
- }
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
PixelChannel
@@ -3613,7 +3565,8 @@
if ((traits == UndefinedPixelTrait) ||
(shade_traits == UndefinedPixelTrait))
continue;
- if ((shade_traits & CopyPixelTrait) != 0)
+ if (((shade_traits & CopyPixelTrait) != 0) ||
+ (GetPixelMask(image,pre) != 0))
{
SetPixelChannel(shade_image,channel,center[i],q);
continue;
@@ -4009,12 +3962,6 @@
register ssize_t
i;
- if (GetPixelMask(image,p) != 0)
- {
- p+=GetPixelChannels(image);
- q+=GetPixelChannels(unsharp_image);
- continue;
- }
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
MagickRealType
@@ -4033,7 +3980,8 @@
if ((traits == UndefinedPixelTrait) ||
(unsharp_traits == UndefinedPixelTrait))
continue;
- if ((unsharp_traits & CopyPixelTrait) != 0)
+ if (((unsharp_traits & CopyPixelTrait) != 0) ||
+ (GetPixelMask(image,p) != 0))
{
SetPixelChannel(unsharp_image,channel,p[i],q);
continue;