try to protect against an NPE seen in the logs,
I assume current was null, apply same instanceof check as related methods already do.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamView.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamView.java
index 5073606..9647ade 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamView.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamView.java
@@ -187,16 +187,19 @@
{
for (ILaunch launch : launches) {
if (launch.isTerminated()) {
- OTDebugElementsContainer current = (OTDebugElementsContainer)getViewer().getInput();
- IDebugTarget currentTarget = current.getContext().getDebugTarget();
- if (launch.getDebugTarget() == currentTarget) {
- current.dispose(); // clear all previous team instances
- getViewer().getControl().getDisplay().asyncExec(new Runnable() {
- public void run() {
- getViewer().setInput(null);
- }
- });
- return;
+ Object input = getViewer().getInput();
+ if (input instanceof OTDebugElementsContainer) {
+ OTDebugElementsContainer current = (OTDebugElementsContainer)input;
+ IDebugTarget currentTarget = current.getContext().getDebugTarget();
+ if (launch.getDebugTarget() == currentTarget) {
+ current.dispose(); // clear all previous team instances
+ getViewer().getControl().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ getViewer().setInput(null);
+ }
+ });
+ return;
+ }
}
}
}