From: Tuukka Lehtonen Date: Wed, 30 Sep 2020 05:41:03 +0000 (+0300) Subject: Add isDisposed checking to avoid unexpected NPE X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commitdiff_plain;h=215cb2930ed3fb362b2951d1da3080abec976972;hp=86617be247efb3b904b3180d0569049aff232d75;ds=sidebyside Add isDisposed checking to avoid unexpected NPE In this case ctx.getContentContext() would return null when the canvas context was already disposed. gitlab #614 (cherry picked from commit 930da66f9b2d7d1acba3e5dc805a323933abb780) --- diff --git a/bundles/org.simantics.g2d/src/org/simantics/g2d/gallery/GalleryViewer.java b/bundles/org.simantics.g2d/src/org/simantics/g2d/gallery/GalleryViewer.java index 5bbe9f26e..d09ecf4a6 100644 --- a/bundles/org.simantics.g2d/src/org/simantics/g2d/gallery/GalleryViewer.java +++ b/bundles/org.simantics.g2d/src/org/simantics/g2d/gallery/GalleryViewer.java @@ -631,8 +631,10 @@ public class GalleryViewer extends ContentViewer { ctx.getThreadAccess().asyncExec(() -> { //System.out.println(Thread.currentThread() + ": update scene graph(" + el + ")"); // Update scene graph and repaint. - el.getElementClass().getSingleItem(GalleryItemSGNode.class).update(el); - ctx.getContentContext().setDirty(); + if (!ctx.isDisposed()) { + el.getElementClass().getSingleItem(GalleryItemSGNode.class).update(el); + ctx.getContentContext().setDirty(); + } }); break; }