Bug 507546 - fixed IllegalArgumentException on code mining dispose Change-Id: Ia1ae9e513b023fc33026a6cdd73d2fd16159bdbb Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.debug/+/190795 Tested-by: Andrey Loskutov <loskutov@gmx.de> Reviewed-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/codemining/DebugValueCodeMiningProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/codemining/DebugValueCodeMiningProvider.java index b960305..96d6d7c 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/codemining/DebugValueCodeMiningProvider.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/codemining/DebugValueCodeMiningProvider.java
@@ -34,8 +34,8 @@ public class DebugValueCodeMiningProvider extends AbstractCodeMiningProvider { - private boolean alreadyListening; - private IDebugEventSetListener listener; + private volatile boolean alreadyListening; + private volatile IDebugEventSetListener listener; @Override public CompletableFuture<List<? extends ICodeMining>> provideCodeMinings(ITextViewer viewer, @@ -84,6 +84,8 @@ @Override public void dispose() { - DebugPlugin.getDefault().removeDebugEventListener(listener); + if (listener != null) { + DebugPlugin.getDefault().removeDebugEventListener(listener); + } } }