mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix "not resumed" assertion
This commit is contained in:
+16
-9
@@ -67,16 +67,23 @@ public abstract class SuspendContextCommandImpl extends DebuggerCommandImpl {
|
||||
}
|
||||
finally{
|
||||
suspendContext.myInProgress = false;
|
||||
SuspendContextCommandImpl postponed = suspendContext.pollPostponedCommand();
|
||||
if (postponed != null) {
|
||||
final Stack<SuspendContextCommandImpl> stack = new Stack<SuspendContextCommandImpl>();
|
||||
while (postponed != null) {
|
||||
stack.push(postponed);
|
||||
postponed = suspendContext.pollPostponedCommand();
|
||||
if (suspendContext.isResumed()) {
|
||||
for (SuspendContextCommandImpl postponed = suspendContext.pollPostponedCommand(); postponed != null; postponed = suspendContext.pollPostponedCommand()) {
|
||||
postponed.notifyCancelled();
|
||||
}
|
||||
final DebuggerManagerThreadImpl managerThread = suspendContext.getDebugProcess().getManagerThread();
|
||||
while (!stack.isEmpty()) {
|
||||
managerThread.pushBack(stack.pop());
|
||||
}
|
||||
else {
|
||||
SuspendContextCommandImpl postponed = suspendContext.pollPostponedCommand();
|
||||
if (postponed != null) {
|
||||
final Stack<SuspendContextCommandImpl> stack = new Stack<SuspendContextCommandImpl>();
|
||||
while (postponed != null) {
|
||||
stack.push(postponed);
|
||||
postponed = suspendContext.pollPostponedCommand();
|
||||
}
|
||||
final DebuggerManagerThreadImpl managerThread = suspendContext.getDebugProcess().getManagerThread();
|
||||
while (!stack.isEmpty()) {
|
||||
managerThread.pushBack(stack.pop());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user