mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
Update frames UI when thread is stopped
(cherry picked from commit 55b11b468d)
This commit is contained in:
committed by
Nikita Iarychenko
parent
42963a54a4
commit
80ebd6ea2b
@@ -47,6 +47,12 @@ import com.intellij.xdebugger.*;
|
||||
import com.intellij.xdebugger.breakpoints.*;
|
||||
import com.intellij.xdebugger.evaluation.XDebuggerEditorsProvider;
|
||||
import com.intellij.xdebugger.frame.*;
|
||||
import com.intellij.xdebugger.impl.XDebugSessionImpl;
|
||||
import com.intellij.xdebugger.impl.frame.XDebugSessionProxy;
|
||||
import com.intellij.xdebugger.impl.frame.XDebugSessionProxyKeeperKt;
|
||||
import com.intellij.xdebugger.impl.frame.XDebugView;
|
||||
import com.intellij.xdebugger.impl.frame.XFramesView;
|
||||
import com.intellij.xdebugger.impl.ui.XDebugSessionTab;
|
||||
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl;
|
||||
import com.intellij.xdebugger.stepping.XSmartStepIntoHandler;
|
||||
import com.jetbrains.python.PyBundle;
|
||||
@@ -1212,6 +1218,27 @@ public class PyDebugProcess extends XDebugProcess implements IPyDebugProcess, Pr
|
||||
if (breakpoint != null) {
|
||||
// Hit a breakpoint while already suspended. We have to remember it and stop on this breakpoint later.
|
||||
myBreakpointHits.add(new BreakpointHitContext(breakpoint, threadInfo.getMessage(), suspendContext));
|
||||
} else {
|
||||
XDebugSession session = getSession();
|
||||
if (!(session instanceof XDebugSessionImpl sessionImpl)) {
|
||||
// If possible (it is XDebugSessionImpl, which currently is only implementation of XDebugSession),
|
||||
// we want to rebuild only frames view
|
||||
// But just in case, if in the future there is other implementation,
|
||||
// we rebuild all debug views
|
||||
session.rebuildViews();
|
||||
return;
|
||||
}
|
||||
XDebugSessionTab tab = sessionImpl.getSessionTab();
|
||||
if (tab == null) {
|
||||
return;
|
||||
}
|
||||
XFramesView framesView = tab.getFramesView();
|
||||
if (framesView == null) {
|
||||
return;
|
||||
}
|
||||
XDebugSessionProxy sessionProxy = XDebugSessionProxyKeeperKt.asProxy(sessionImpl);
|
||||
framesView
|
||||
.processSessionEvent(XDebugView.SessionEvent.SETTINGS_CHANGED, sessionProxy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user