# NetBeans IDE HG Patch # This patch file was generated by NetBeans IDE # Following Index: paths are relative to: D:\ws\core-main # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: openide.util.ui/src/org/openide/util/ImageUtilities.java --- openide.util.ui/src/org/openide/util/ImageUtilities.java +++ openide.util.ui/src/org/openide/util/ImageUtilities.java @@ -195,10 +195,6 @@ if( image == null ) { return null; } - RGBImageFilter imageFilter = getImageIconFilter(); - if( null != imageFilter ) { - image = Toolkit.getDefaultToolkit().createImage( new FilteredImageSource( image.getSource(), imageFilter ) ); - } return ( ImageIcon ) image2Icon( image ); } @@ -601,6 +597,7 @@ } name = new String(name).intern(); // NOPMD result = ToolTipImage.createNew("", result, url); + result = applyIconFilter(result); cache.put(name, new ActiveRef(result, cache, name)); return result; } else { // no icon found @@ -648,12 +645,23 @@ } catch (InterruptedException e) { System.out.println("INTERRUPTED while loading Image"); } - - assert (tracker.statusID(id, false) == MediaTracker.COMPLETE) : "Image loaded"; +// HELP ME: It does not work with artificial images, which have been inverted by an ImageFilter +// assert (tracker.statusID(id, false) == MediaTracker.COMPLETE) : "Expected 'Image loaded', but was " + tracker.statusID(id, false); tracker.removeImage(image, id); } } + private static Image applyIconFilter(Image image) { + if (image == null) { + return null; + } + RGBImageFilter imageFilter = getImageIconFilter(); + if (null != imageFilter) { + return Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(image.getSource(), imageFilter)); + } + return image; + } + private static final Image doMergeImages(Image image1, Image image2, int x, int y) { ensureLoaded(image1); ensureLoaded(image2);