From 23ab7145e1c0479eb396c0f5c3520c2bcbbe1c0e Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 31 May 2006 14:48:01 +0400 Subject: [PATCH] fix so that UI Designer works with icon caching --- .../uiDesigner/palette/ComponentItem.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/ui-designer/impl/com/intellij/uiDesigner/palette/ComponentItem.java b/ui-designer/impl/com/intellij/uiDesigner/palette/ComponentItem.java index b280d5cb077a..d4c97d1bd2f4 100644 --- a/ui-designer/impl/com/intellij/uiDesigner/palette/ComponentItem.java +++ b/ui-designer/impl/com/intellij/uiDesigner/palette/ComponentItem.java @@ -158,7 +158,7 @@ public final class ComponentItem implements Cloneable, PaletteItem, ComponentDra } // Create new icon - if(myIconPath != null) { + if(myIconPath != null && myIconPath.length() > 0) { final VirtualFile iconFile = ModuleUtil.findResourceFileInProject(myProject, myIconPath); if (iconFile != null) { try { @@ -174,7 +174,7 @@ public final class ComponentItem implements Cloneable, PaletteItem, ComponentDra } if(myIcon == null){ myIcon = IconLoader.getIcon("/com/intellij/uiDesigner/icons/unknown.png"); - } + } LOG.assertTrue(myIcon != null); return myIcon; } @@ -192,8 +192,15 @@ public final class ComponentItem implements Cloneable, PaletteItem, ComponentDra // [vova] It's safe to cast to ImageIcon here because all icons loaded by IconLoader // are ImageIcon(s). - final ImageIcon icon = (ImageIcon)getIcon(); - mySmallIcon = new MySmallIcon(icon.getImage()); + final Icon icon = getIcon(); + if (icon instanceof ImageIcon) { + final ImageIcon imageIcon = (ImageIcon)icon; + mySmallIcon = new MySmallIcon(imageIcon.getImage()); + } + else { + mySmallIcon = icon; + } + return mySmallIcon; }