Rendering of certain symbol libraries fails on re-expand
Reproducible in Apros trunk for PRO Tanks and PRO Points symbol libraries.
- Open Symbols view
- Expand symbols (PRO Tanks / Pro Points) (exception thrown, symbols drawn)
- Collapse symbols
- Expand symbols (multiple exceptions thrown, symbols not drawn)
- Collapse symbols (exception thrown)
- Goto 2
Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException
at java.util.Collections$EmptyMap.computeIfAbsent(Collections.java:4629)
at org.simantics.scenegraph.ParentNode.getOrCreateNode(ParentNode.java:173)
at org.simantics.diagram.adapter.CompositeImage.getOrCreateParentNode(CompositeImage.java:164)
at org.simantics.diagram.adapter.CompositeImage.init(CompositeImage.java:115)
at org.simantics.g2d.image.impl.ImageProxy.init(ImageProxy.java:112)
at org.simantics.g2d.gallery.GalleryItemSGNode.update(GalleryItemSGNode.java:70)
at org.simantics.g2d.gallery.GalleryItemSGNode.init(GalleryItemSGNode.java:85)
at org.simantics.g2d.diagram.participant.ElementPainter.updateElement(ElementPainter.java:799)
at org.simantics.g2d.diagram.participant.ElementPainter.paintDiagram(ElementPainter.java:734)
at org.simantics.g2d.diagram.participant.ElementPainter.paintDiagram(ElementPainter.java:698)
at org.simantics.g2d.diagram.participant.ElementPainter.updateAll(ElementPainter.java:679)
at org.simantics.g2d.gallery.GalleryViewer.lambda$2(GalleryViewer.java:333)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)