Propagated view dispose to selected resource action to remove workbench selection listener
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/SelectedResourceFilterAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/SelectedResourceFilterAction.java
index 9c886cb..07489ee 100644
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/SelectedResourceFilterAction.java
+++ b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/SelectedResourceFilterAction.java
@@ -53,7 +53,12 @@
         
         vpgView.getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(this);
     }
-    
+
+    void dispose()
+    {
+        vpgView.getSite().getWorkbenchWindow().getSelectionService().removeSelectionListener(this);
+    }
+
     @Override public void run()
     {
         vpgView.setErrorWarningFilterButtonText();
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemView.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemView.java
index a28b7f5..9897df7 100644
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemView.java
+++ b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemView.java
@@ -423,8 +423,8 @@
     @Override
     public void dispose()
     {
-        if (clipboard != null)
-            clipboard.dispose();
+        if (clipboard != null) clipboard.dispose();
+        if (selectionFilterAction != null) selectionFilterAction.dispose();
         super.dispose();
     }
 }