X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FOverviewPanel.java;fp=src%2Fjalview%2Fappletgui%2FOverviewPanel.java;h=456a38ca6d7ee26c391a66ba7f36f46936eddb45;hb=4a9a2fc8a1b1a66b21e66429083f27a6fc8541b9;hp=76c4e862e4332f871df12b646c6d3e699d0eb8c2;hpb=30f552046feaba47955d5ffdcec6d0fc67a7e13b;p=jalview.git diff --git a/src/jalview/appletgui/OverviewPanel.java b/src/jalview/appletgui/OverviewPanel.java index 76c4e86..456a38c 100755 --- a/src/jalview/appletgui/OverviewPanel.java +++ b/src/jalview/appletgui/OverviewPanel.java @@ -209,6 +209,14 @@ public class OverviewPanel extends Panel implements Runnable, */ public void updateOverviewImage() { + if (oviewCanvas == null) + { + /* + * panel has been disposed + */ + return; + } + if ((getSize().width > 0) && (getSize().height > 0)) { od.setWidth(getSize().width); @@ -306,4 +314,21 @@ public class OverviewPanel extends Panel implements Runnable, oviewCanvas.resetOviewDims(od); updateOverviewImage(); } + + /** + * Removes this object as a property change listener, and nulls references + */ + protected void dispose() + { + try + { + av.getRanges().removePropertyChangeListener(this); + } finally + { + av = null; + oviewCanvas = null; + ap = null; + od = null; + } + } }