diff --git a/applications/appunorganized/appunorganized-plugins/org.csstudio.swt.rtplot/src/org/csstudio/swt/rtplot/internal/SnapshotAction.java b/applications/appunorganized/appunorganized-plugins/org.csstudio.swt.rtplot/src/org/csstudio/swt/rtplot/internal/SnapshotAction.java index 839d736aed..0bb4577656 100644 --- a/applications/appunorganized/appunorganized-plugins/org.csstudio.swt.rtplot/src/org/csstudio/swt/rtplot/internal/SnapshotAction.java +++ b/applications/appunorganized/appunorganized-plugins/org.csstudio.swt.rtplot/src/org/csstudio/swt/rtplot/internal/SnapshotAction.java @@ -76,10 +76,15 @@ protected IStatus run(final IProgressMonitor progress) try { // Create snapshot, save to file final ImageLoader loader = new ImageLoader(); - final Image image = plot.getImage(); - loader.data = new ImageData[] { image.getImageData() }; - image.dispose(); + // In Eclipse 2020-12 we cannot seem to get the Image on + // a background thread so must schedule it on the UI thread. + shell.getDisplay().syncExec(() -> { + final Image image = plot.getImage(); + loader.data = new ImageData[] { image.getImageData() }; + image.dispose(); + }); loader.save(path.get(), SWT.IMAGE_PNG); + // Done! break; }