JMIX icons not displayed in IDE

JMIX 1.5.5
IDEA latest

BTW: where to find complete list of ion images?
Searching for right icon in IDE is a real pain…
Thank you.

image

Please provide the full version numbers:
image
image

Jmix version: 1.5.5
Jmix Studio plugin version: 2.1.1-233
IntelliJ version: IntelliJ IDEA 2023.3.2 (Ultimate Edition)

image

Hi,

The full list of icons can be found in the sampler: https://demo.jmix.io/sampler/#main/0/sample?id=icons-all

Regards,
Gleb

Hi

Thanks for reporting the issue. But I didn’t manage to reproduce it.
Could you please attach idea.log file? So we can check what can be the cause.

Maybe this could help:

java.lang.IllegalStateException: use is over-nested: 7
	at com.github.weisj.jsvg.bl.a(SourceFile:117)
	at com.github.weisj.jsvg.bl.a(SourceFile:104)
	at com.github.weisj.jsvg.bl.a(SourceFile:110)
	at com.github.weisj.jsvg.bl.a(SourceFile:110)
	at com.github.weisj.jsvg.bl.a(SourceFile:110)
	at com.github.weisj.jsvg.bl.a(SourceFile:110)
	at com.github.weisj.jsvg.bl.build(SourceFile:94)
	at com.github.weisj.jsvg.parser.ParsedElement.build(SourceFile:115)
	at com.github.weisj.jsvg.parser.ParsedElement.build(SourceFile:113)
	at com.github.weisj.jsvg.parser.ParsedElement.build(SourceFile:113)
	at com.intellij.ui.svg.JSvgDocumentFactoryKt.buildDocument(JSvgDocumentFactory.kt:109)
	at com.intellij.ui.svg.JSvgDocumentFactoryKt.createJSvgDocument(JSvgDocumentFactory.kt:36)
	at com.intellij.ui.svg.JSvgDocumentFactoryKt.createJSvgDocument$default(JSvgDocumentFactory.kt:34)
	at com.intellij.ui.svg.JSvgDocumentFactoryKt.createJSvgDocument(JSvgDocumentFactory.kt:30)
	at com.intellij.ui.svg.SvgKt.renderImage(svg.kt:270)
	at com.intellij.ui.svg.SvgKt.renderAndCache(svg.kt:243)
	at com.intellij.ui.svg.SvgKt.access$renderAndCache(svg.kt:1)
	at com.intellij.ui.svg.SvgKt.loadSvg-0e6sKCk(svg.kt:459)
	at com.intellij.ui.svg.SvgKt.loadSvg-0e6sKCk$default(svg.kt:65)
	at com.intellij.util.SVGLoader.load(SVGLoader.kt:53)
	at com.haulmont.jmixstudio.ui.util.icon.util.IconResolveUtils.getIconFromVirtualSvgFile(IconResolveUtils.kt:23)
	at com.haulmont.jmixstudio.ui.util.icon.resolver.RelativeLoader.getIconFromVirtualFile$lambda$3(RelativeLoader.kt:133)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:878)
	at com.haulmont.jmixstudio.util.EntityUtil.ra(EntityUtil.java:1018)
	at com.haulmont.jmixstudio.ui.util.icon.resolver.RelativeLoader.getIconFromVirtualFile(RelativeLoader.kt:131)
	at com.haulmont.jmixstudio.ui.util.icon.resolver.RelativeLoader.loadIcon(RelativeLoader.kt:117)
	at com.haulmont.jmixstudio.ui.util.icon.IconLoader$Companion$loadIcon$2.invoke(IconLoader.kt:58)
	at com.haulmont.jmixstudio.ui.util.icon.IconLoader$Companion$loadIcon$2.invoke(IconLoader.kt:58)
	at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:210)
	at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:170)
	at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:194)
	at kotlin.sequences.SequencesKt___SequencesKt.firstOrNull(_Sequences.kt:168)
	at com.haulmont.jmixstudio.ui.util.icon.IconLoader$Companion.loadIcon(IconLoader.kt:59)
	at com.haulmont.jmixstudio.ui.sd.layout.model.IconInfo$swingIcon$2.invoke(IconInfo.kt:19)
	at com.haulmont.jmixstudio.ui.sd.layout.model.IconInfo$swingIcon$2.invoke(IconInfo.kt:18)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
	at com.haulmont.jmixstudio.ui.sd.layout.model.IconInfo.getSwingIcon(IconInfo.kt:18)
	at com.haulmont.jmixstudio.ui.sd.layout.model.IconInfo.loadIcon(IconInfo.kt:37)
	at com.haulmont.jmixstudio.intellij.ui.icon.IconTableCellRenderer.getTableCellRendererComponent(IconTableCellRenderer.java:25)
	at com.intellij.ui.table.JBTable.calculateRowHeight(JBTable.java:264)
	at com.intellij.ui.table.JBTable.getRowHeight(JBTable.java:242)
	at java.desktop/javax.swing.JTable.getRowHeight(JTable.java:1065)
	at java.desktop/javax.swing.JTable.getCellRect(JTable.java:2984)
	at java.desktop/javax.swing.plaf.basic.BasicTableUI.createTableSize(BasicTableUI.java:1754)
	at java.desktop/javax.swing.plaf.basic.BasicTableUI.getPreferredSize(BasicTableUI.java:1793)
	at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1721)
	at com.intellij.ui.table.JBTable.getPreferredSize(JBTable.java:223)
	at com.intellij.ui.components.JBScrollPane$Layout.layoutContainer(JBScrollPane.java:533)
	at java.desktop/java.awt.Container.layout(Container.java:1541)
	at java.desktop/java.awt.Container.doLayout(Container.java:1530)
	at java.desktop/java.awt.Container.validateTree(Container.java:1725)
	at java.desktop/java.awt.Container.validateTree(Container.java:1734)
	at java.desktop/java.awt.Container.validateTree(Container.java:1734)
	at java.desktop/java.awt.Container.validateTree(Container.java:1734)
	at java.desktop/java.awt.Container.validateTree(Container.java:1734)
	at java.desktop/java.awt.Container.validateTree(Container.java:1734)
	at java.desktop/java.awt.Container.validateTree(Container.java:1734)
	at java.desktop/java.awt.Container.validateTree(Container.java:1734)
	at java.desktop/java.awt.Container.validateTree(Container.java:1734)
	at java.desktop/java.awt.Container.lambda$validate$3(Container.java:1659)
	at java.desktop/sun.awt.SunToolkit.performWithTreeLock(SunToolkit.java:2161)
	at java.desktop/java.awt.Container.validate(Container.java:1648)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2807)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4855)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:794)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:766)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:764)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:763)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
	at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:589)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:44)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:848)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

image

Hi

The issue seems to be caused by some .svg icon file that IDEA can’t load.
We’ve improved exception handling for the icons loading.

You can try the fix by installing latest NIGHTLY build
https://docs.jmix.io/jmix/studio/install.html#nightly

1 Like

Nightly link in documentation points to non working url: https://plugins.jetbrains.com/plugins/jmix_nightly/list

{"statusCode":400,"message":"Parameter 'build' or 'pluginId' is required"}

Hi

This URL should be used as a plugin repository URL in the IDE, please read documentation carefully.
If you want to download and install plugin manually, please check this section: Installation :: Jmix Documentation