* applied patches fron eclipse bug tracker.
diff --git a/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/dbgp/internal/packets/DbgpPacketReceiver.java b/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/dbgp/internal/packets/DbgpPacketReceiver.java
index f677ea2..f68aa6b 100644
--- a/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/dbgp/internal/packets/DbgpPacketReceiver.java
+++ b/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/dbgp/internal/packets/DbgpPacketReceiver.java
@@ -57,12 +57,10 @@
}
long delta = end - begin;
-
- if (delta < MIN_TIMEOUT) {
+ timeout -= delta;
+ if (timeout < MIN_TIMEOUT) {
break;
}
-
- timeout = (int) delta;
}
return null;
diff --git a/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptBreakpointManager.java b/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptBreakpointManager.java
index 7f96e77..a7d4a4e 100644
--- a/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptBreakpointManager.java
+++ b/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptBreakpointManager.java
@@ -357,7 +357,7 @@
public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta) {
try {
- if (breakpoint instanceof IScriptBreakpoint) {
+ if (breakpoint instanceof IScriptBreakpoint && delta != null) {
final String[] attrs = ((IScriptBreakpoint) breakpoint)
.getUpdatableAttributes();
if (hasChanges(delta, attrs)) {
diff --git a/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptMethodEntryBreakpoint.java b/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptMethodEntryBreakpoint.java
index 88828a9..b489a38 100644
--- a/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptMethodEntryBreakpoint.java
+++ b/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptMethodEntryBreakpoint.java
@@ -95,8 +95,8 @@
public String[] getUpdatableAttributes() {
List all = new ArrayList();
- Arrays.asList(super.getUpdatableAttributes());
- Arrays.asList(UPDATABLE_ATTRS);
+ all.addAll(Arrays.asList(super.getUpdatableAttributes()));
+ all.addAll(Arrays.asList(UPDATABLE_ATTRS));
return (String[]) all.toArray(new String[all.size()]);
}
}
diff --git a/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptThreadManager.java b/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptThreadManager.java
index 639543d..862d2bf 100644
--- a/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptThreadManager.java
+++ b/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptThreadManager.java
@@ -131,7 +131,10 @@
synchronized (threads) {
threads.remove(thread);
DebugEventHelper.fireTerminateEvent(thread);
- thread.getStreamProxy().close();
+ IScriptThreadStreamProxy proxy = thread.getStreamProxy();
+ if (proxy != null) {
+ proxy.close();
+ }
if (!hasThreads()) {
fireAllThreadsTerminated();
}
diff --git a/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptWatchpoint.java b/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptWatchpoint.java
index 73dddc2..603068f 100644
--- a/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptWatchpoint.java
+++ b/core/plugins/org.eclipse.dltk.debug/src/org/eclipse/dltk/internal/debug/core/model/ScriptWatchpoint.java
@@ -84,8 +84,8 @@
public String[] getUpdatableAttributes() {
List all = new ArrayList();
- Arrays.asList(super.getUpdatableAttributes());
- Arrays.asList(UPDATABLE_ATTRS);
+ all.addAll(Arrays.asList(super.getUpdatableAttributes()));
+ all.addAll(Arrays.asList(UPDATABLE_ATTRS));
return (String[]) all.toArray(new String[all.size()]);
}
}