Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Piech2012-03-29 04:49:34 +0000
committerPawel Piech2012-03-29 04:50:59 +0000
commit839411a4f1e70c4876fe56c2481c4f5cecb50f86 (patch)
tree82c41006e7f97bd6b1c1b548de4b8c0de1d1bdbf /org.eclipse.debug.ui
parent79038a3960ccc865356a29e06c097ebfaf4c446f (diff)
downloadeclipse.platform.debug-839411a4f1e70c4876fe56c2481c4f5cecb50f86.tar.gz
eclipse.platform.debug-839411a4f1e70c4876fe56c2481c4f5cecb50f86.tar.xz
eclipse.platform.debug-839411a4f1e70c4876fe56c2481c4f5cecb50f86.zip
Bug 373790 - Debug view stays busy after Resume
Diffstat (limited to 'org.eclipse.debug.ui')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
index 08b73d12f..386fe8c38 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
@@ -639,13 +639,13 @@ public class TreeModelContentProvider implements ITreeModelContentProvider, ICon
// fRequestsInProgress map. This way updateStarted() will not send a
// redundant "UPDATE SEQUENCE STARTED" notification.
trigger(update.getSchedulingPath());
- if (requests != null && requests.isEmpty()) {
- fRequestsInProgress.remove(update.getSchedulingPath());
- }
} else {
// Update may be removed from in progress list if it was canceled by schedule().
Assert.isTrue( update.isCanceled() );
}
+ if (requests != null && requests.isEmpty()) {
+ fRequestsInProgress.remove(update.getSchedulingPath());
+ }
}
if (fRequestsInProgress.isEmpty() && fWaitingRequests.isEmpty()) {
if (DebugUIPlugin.DEBUG_UPDATE_SEQUENCE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
@@ -755,6 +755,8 @@ public class TreeModelContentProvider implements ITreeModelContentProvider, ICon
* @param update the update the schedule
*/
private void schedule(final ViewerUpdateMonitor update) {
+ Assert.isTrue(getViewer().getDisplay().getThread() == Thread.currentThread());
+
TreePath schedulingPath = update.getSchedulingPath();
List requests = (List) fWaitingRequests.get(schedulingPath);
if (requests == null) {
@@ -780,6 +782,7 @@ public class TreeModelContentProvider implements ITreeModelContentProvider, ICon
if (inProgressList == null || inProgressList.isEmpty()) {
getViewer().getDisplay().asyncExec(new Runnable() {
public void run() {
+ if (isDisposed()) return;
trigger(update.getSchedulingPath());
}
});
@@ -858,6 +861,8 @@ public class TreeModelContentProvider implements ITreeModelContentProvider, ICon
* be <code>null</code> to start the shortest path request.
*/
private void trigger(TreePath schedulingPath) {
+ Assert.isTrue(getViewer().getDisplay().getThread() == Thread.currentThread());
+
if (fWaitingRequests.isEmpty()) {
return;
}

Back to the top