Skip to content

Time series chart PDF export uses invalid canvas context threading

Several somewhat random problems are occurring in master with time series chart PDF export (org.simantics.charts.editor.ExportToPdfHandler)

java.lang.AssertionError: Participant org.simantics.g2d.participant.PanZoomRotateHandler@629a04c2 dependencies unsatisfied : [org.simantics.g2d.participant.KeyUtil org.simantics.g2d.participant.PanZoomRotateHandler.keys]
    at org.simantics.g2d.canvas.impl.CanvasContext.assertParticipantDependencies(CanvasContext.java:280)
    at org.simantics.trend.TrendInitializer.defaultInitializeCanvas(TrendInitializer.java:114)
    at org.simantics.trend.TrendInitializer.createDefaultCanvas(TrendInitializer.java:160)
    at org.simantics.trend.util.PrintUtil$TrendPage.createFrom(PrintUtil.java:174)
    at org.simantics.trend.util.PrintUtil.addTrendPage(PrintUtil.java:67)
    at org.simantics.charts.editor.ExportToPdfHandler$1.run(ExportToPdfHandler.java:79)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)

java.lang.AssertionError: Participant org.simantics.g2d.participant.KeyToCommand@77dc1a7e dependencies unsatisfied : []
    at org.simantics.g2d.canvas.impl.CanvasContext.assertParticipantDependencies(CanvasContext.java:280)
    at org.simantics.trend.TrendInitializer.defaultInitializeCanvas(TrendInitializer.java:115)
    at org.simantics.trend.TrendInitializer.createDefaultCanvas(TrendInitializer.java:161)
    at org.simantics.trend.util.PrintUtil$TrendPage.createFrom(PrintUtil.java:174)
    at org.simantics.trend.util.PrintUtil.addTrendPage(PrintUtil.java:67)
    at org.simantics.charts.editor.ExportToPdfHandler$1.run(ExportToPdfHandler.java:79)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)

It would seem that the initialization of the exported trend is not threaded properly using a worker thread for the exported CanvasContext.