Greatly improve debugging session stability.

Handle some more sequences in TerminalEmulator.
Update SOIL2.
This commit is contained in:
Martín Lucas Golini
2025-08-15 02:55:12 -03:00
parent 929b38410b
commit 62bfcf29c3
11 changed files with 247 additions and 41 deletions

View File

@@ -1566,9 +1566,9 @@ void DebuggerPlugin::drawLineNumbersBefore( UICodeEditor* editor,
}
}
if ( mDebugger && mListener && mListener->isStopped() && mListener->getCurrentScopePos() &&
editor->getDocument().getFilePath() == mListener->getCurrentScopePos()->first ) {
int line = mListener->getCurrentScopePos()->second - 1;
if ( mDebugger && mListener && mListener->isStopped() &&
mListener->isCurrentScopePos( editor->getDocument().getFilePath() ) ) {
int line = mListener->getCurrentScopePosLine() - 1;
if ( line >= 0 && line >= lineRange.first && line <= lineRange.second &&
editor->getDocumentView().isLineVisible( line ) ) {
@@ -1610,9 +1610,8 @@ void DebuggerPlugin::drawLineNumbersBefore( UICodeEditor* editor,
void DebuggerPlugin::drawBeforeLineText( UICodeEditor* editor, const Int64& index,
Vector2f position, const Float& /*fontSize*/,
const Float& lineHeight ) {
if ( !mDebugger || !mListener || !mListener->isStopped() || !mListener->getCurrentScopePos() ||
editor->getDocument().getFilePath() != mListener->getCurrentScopePos()->first ||
mListener->getCurrentScopePos()->second - 1 != index ||
if ( !mDebugger || !mListener || !mListener->isStopped() ||
!mListener->isCurrentScopePos( editor->getDocument().getFilePath(), index + 1 ) ||
!editor->getDocumentView().isLineVisible( index ) )
return;