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
* position.
	 * <p>
	 * Call this internal framework method to superimpose another image atop
	 * this composite image.
	 * </p>
	 * 
	 * @param src
	 *            the source image data
	 * @param ox
	 *            the x position
	 * @param oy
	 *            the y position
	 */
	final protected void drawImage(ImageData src, int ox, int oy) {
		ImageData dst = imageData;
		PaletteData srcPalette = src.palette;
		ImageData srcMask = null;
		int alphaMask = 0, alphaShift = 0;
		if (src.maskData != null) {
			srcMask = src.getTransparencyMask ();
			if (src.depth == 32) {
				alphaMask = ~(srcPalette.redMask | srcPalette.greenMask | srcPalette.blueMask);
				while (alphaMask != 0 && ((alphaMask >>> alphaShift) & 1) == 0) alphaShift++;
			}
		}
		for (int srcY = 0, dstY = srcY + oy; srcY < src.height; srcY++, dstY++) {
			for (int srcX = 0, dstX = srcX + ox; srcX < src.width; srcX++, dstX++) {
				if (!(0 <= dstX && dstX < dst.width && 0 <= dstY && dstY < dst.height)) continue;
				int srcPixel = src.getPixel(srcX, srcY);
				int srcAlpha = 255;