Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2001-05-30 11:08:29 +0000
committerDarin Wright2001-05-30 11:08:29 +0000
commitec9a0d3003e755b5e1bf654a6be5f78d13097956 (patch)
treefb9ac5dd05a7381f77eb22af7d55e5da7a94a594 /org.eclipse.debug.ui
parent261b34e6b3854cb1c4e7d46237f2410793cfbf81 (diff)
downloadeclipse.platform.debug-ec9a0d3003e755b5e1bf654a6be5f78d13097956.tar.gz
eclipse.platform.debug-ec9a0d3003e755b5e1bf654a6be5f78d13097956.tar.xz
eclipse.platform.debug-ec9a0d3003e755b5e1bf654a6be5f78d13097956.zip
1GE6ZGS
Diffstat (limited to 'org.eclipse.debug.ui')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BasicContentProvider.java20
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointsContentProvider.java13
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugContentProvider.java19
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InspectorContentProvider.java27
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ProcessesContentProvider.java12
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesContentProvider.java1
6 files changed, 66 insertions, 26 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BasicContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BasicContentProvider.java
index f5c115dca..0286f1413 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BasicContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BasicContentProvider.java
@@ -10,8 +10,24 @@ import org.eclipse.debug.core.DebugEvent; import org.eclipse.jface.viewers.*; im
public abstract class BasicContentProvider implements IStructuredContentProvider {
protected StructuredViewer fViewer;
+ protected boolean fDisposed= false;
/**
+ * @see IContentProvider#dispose
+ */
+ public void dispose() {
+ fDisposed= true;
+ }
+
+ /**
+ * Returns whether this content provider has already
+ * been disposed.
+ */
+ protected boolean isDisposed() {
+ return fDisposed;
+ }
+
+ /**
* @see IContentProvider#inputChanged
*/
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
@@ -61,7 +77,9 @@ public abstract class BasicContentProvider implements IStructuredContentProvider
}
Runnable r= new Runnable() {
public void run() {
- doHandleDebugEvent(event);
+ if (!isDisposed()) {
+ doHandleDebugEvent(event);
+ }
}
};
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointsContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointsContentProvider.java
index 81eea4bb6..fde370bb2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointsContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointsContentProvider.java
@@ -33,6 +33,7 @@ public class BreakpointsContentProvider extends BasicContentProvider implements
* @see IContentProvider
*/
public void dispose() {
+ super.dispose();
DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);
}
@@ -43,7 +44,9 @@ public class BreakpointsContentProvider extends BasicContentProvider implements
if (breakpoint.exists()) {
asyncExec(new Runnable() {
public void run() {
- ((TableViewer)fViewer).add(breakpoint);
+ if (!isDisposed()) {
+ ((TableViewer)fViewer).add(breakpoint);
+ }
}
});
}
@@ -55,7 +58,9 @@ public class BreakpointsContentProvider extends BasicContentProvider implements
public void breakpointRemoved(final IMarker breakpoint, IMarkerDelta delta) {
asyncExec(new Runnable() {
public void run() {
- ((TableViewer)fViewer).remove(breakpoint);
+ if (!isDisposed()) {
+ ((TableViewer)fViewer).remove(breakpoint);
+ }
}
});
}
@@ -67,7 +72,9 @@ public class BreakpointsContentProvider extends BasicContentProvider implements
if (breakpoint.exists()) {
asyncExec(new Runnable() {
public void run() {
- refresh(breakpoint);
+ if (!isDisposed()) {
+ refresh(breakpoint);
+ }
}
});
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugContentProvider.java
index 45555b31d..6548802c8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugContentProvider.java
@@ -221,8 +221,10 @@ public class DebugContentProvider extends BasicContentProvider implements IDebug
public void launchDeregistered(final ILaunch launch) {
Runnable r= new Runnable() {
public void run() {
- remove(launch);
- updateButtons();
+ if (!isDisposed()) {
+ remove(launch);
+ updateButtons();
+ }
}
};
@@ -235,11 +237,13 @@ public class DebugContentProvider extends BasicContentProvider implements IDebug
public void launchRegistered(final ILaunch launch) {
Runnable r= new Runnable() {
public void run() {
- insert(launch);
- if (!DebugUIPlugin.getDefault().userPreferenceToSwitchPerspective(true)) {
- Object dt = launch.getDebugTarget();
- if (dt != null) {
- selectAndReveal(dt);
+ if (!isDisposed()) {
+ insert(launch);
+ if (!DebugUIPlugin.getDefault().userPreferenceToSwitchPerspective(true)) {
+ Object dt = launch.getDebugTarget();
+ if (dt != null) {
+ selectAndReveal(dt);
+ }
}
}
}
@@ -253,6 +257,7 @@ public class DebugContentProvider extends BasicContentProvider implements IDebug
* this object can be garbage-collected.
*/
public void dispose() {
+ super.dispose();
DebugPlugin plugin= DebugPlugin.getDefault();
plugin.removeDebugEventListener(this);
plugin.getLaunchManager().removeLaunchListener(this);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InspectorContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InspectorContentProvider.java
index 666599d13..0b263788a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InspectorContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InspectorContentProvider.java
@@ -110,6 +110,7 @@ public class InspectorContentProvider extends BasicContentProvider implements IT
* @see IContentProvider
*/
public void dispose() {
+ super.dispose();
fInspectorList = new InspectorList(0);
DebugPlugin.getDefault().removeDebugEventListener(this);
}
@@ -153,8 +154,10 @@ public class InspectorContentProvider extends BasicContentProvider implements IT
protected void remove(final Object element) {
Runnable r= new Runnable() {
public void run() {
- ((TreeViewer)fViewer).remove(element);
- enableRemoveAllFromInspectorAction();
+ if (!isDisposed()) {
+ ((TreeViewer)fViewer).remove(element);
+ enableRemoveAllFromInspectorAction();
+ }
}
};
asyncExec(r);
@@ -166,9 +169,11 @@ public class InspectorContentProvider extends BasicContentProvider implements IT
protected void removeAll() {
Runnable r= new Runnable() {
public void run() {
- fInspectorList.getList().clear();
- refresh();
- enableRemoveAllFromInspectorAction();
+ if (!isDisposed()) {
+ fInspectorList.getList().clear();
+ refresh();
+ enableRemoveAllFromInspectorAction();
+ }
}
};
asyncExec(r);
@@ -182,11 +187,13 @@ public class InspectorContentProvider extends BasicContentProvider implements IT
if (parent != null) {
Runnable r= new Runnable() {
public void run() {
- TreeViewer tempViewer= (TreeViewer)fViewer;
- tempViewer.add(parent, element);
- tempViewer.setExpandedState(element, true);
- tempViewer.setSelection(new StructuredSelection(element));
- enableRemoveAllFromInspectorAction();
+ if (!isDisposed()) {
+ TreeViewer tempViewer= (TreeViewer)fViewer;
+ tempViewer.add(parent, element);
+ tempViewer.setExpandedState(element, true);
+ tempViewer.setSelection(new StructuredSelection(element));
+ enableRemoveAllFromInspectorAction();
+ }
}
};
asyncExec(r);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ProcessesContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ProcessesContentProvider.java
index df2f9e874..a761f803e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ProcessesContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ProcessesContentProvider.java
@@ -44,11 +44,13 @@ public class ProcessesContentProvider extends DebugContentProvider {
public void launchRegistered(final ILaunch launch) {
Runnable r= new Runnable() {
public void run() {
- insert(launch);
- if (!DebugUIPlugin.getDefault().userPreferenceToSwitchPerspective(true)) {
- IProcess[] ps= launch.getProcesses();
- if (ps != null && ps.length > 0) {
- selectAndReveal(ps[0]);
+ if (!isDisposed()) {
+ insert(launch);
+ if (!DebugUIPlugin.getDefault().userPreferenceToSwitchPerspective(true)) {
+ IProcess[] ps= launch.getProcesses();
+ if (ps != null && ps.length > 0) {
+ selectAndReveal(ps[0]);
+ }
}
}
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesContentProvider.java
index e9153b900..7e796fb85 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesContentProvider.java
@@ -91,6 +91,7 @@ public class VariablesContentProvider extends BasicContentProvider implements ID
* this object can be garbage-collected.
*/
public void dispose() {
+ super.dispose();
DebugPlugin.getDefault().removeDebugEventListener(this);
}
}

Back to the top