Bug 341702 [JFace] CompositeImageDescriptor mixes images with alpha channel wrong
Build Identifier: 3.7.0 I20110329-0800 The method used to mixes images with alpha channel in JFace's CompositeImageDescriptor seems to be wrong for some cases. Reproducible: Always
bundles/org.eclipse.jface/src/org/eclipse/jface/resource/CompositeImageDescriptor.java
}
				int dstRed, dstGreen, dstBlue, dstAlpha;
				if (srcAlpha == 255) {
					dstRed = srcRed;
					dstGreen = srcGreen;
					dstBlue= srcBlue;
					dstAlpha = srcAlpha;
				} else {
					int dstPixel = dst.getPixel(dstX, dstY);
					dstAlpha = dst.getAlpha(dstX, dstY);
					dstRed = (dstPixel & 0xFF) >>> 0;
					dstGreen = (dstPixel & 0xFF00) >>> 8;
					dstBlue = (dstPixel & 0xFF0000) >>> 16;
					dstRed += (srcRed - dstRed) * srcAlpha / 255;
					dstGreen += (srcGreen - dstGreen) * srcAlpha / 255;
					dstBlue += (srcBlue - dstBlue) * srcAlpha / 255;
					dstAlpha += (srcAlpha - dstAlpha) * srcAlpha / 255;
				}
				dst.setPixel(dstX, dstY, ((dstRed & 0xFF) << 0) | ((dstGreen & 0xFF) << 8) | ((dstBlue & 0xFF) << 16));
				dst.setAlpha(dstX, dstY, dstAlpha);
			}
		}
	}
	/*
	 * (non-Javadoc) Method declared on ImageDesciptor.
	 */
	public ImageData getImageData() {
		Point size = getSize();