mirror of
https://github.com/epasveer/seer.git
synced 2026-08-29 16:40:42 +08:00
Merge pull request #391 from QuangNguyenMinh123/feature/Fix_back_trace_line_color
fix recursive painting
This commit is contained in:
@@ -632,6 +632,8 @@ void SeerEditorManagerWidget::handleText (const QString& text) {
|
||||
// Parse through the frame list and set the current lines that are in the frame list.
|
||||
QStringList frame_list = Seer::parse(newtext, "frame=", '{', '}', false);
|
||||
|
||||
SeerEditorManagerEntries::iterator i_later=endEntry();
|
||||
int lineToPrintLater = -1;
|
||||
for ( const auto& frame_text : frame_list ) {
|
||||
QString level_text = Seer::parseFirst(frame_text, "level=", '"', '"', false);
|
||||
QString addr_text = Seer::parseFirst(frame_text, "addr=", '"', '"', false);
|
||||
@@ -644,10 +646,19 @@ void SeerEditorManagerWidget::handleText (const QString& text) {
|
||||
SeerEditorManagerEntries::iterator i = findEntry(fullname_text);
|
||||
SeerEditorManagerEntries::iterator e = endEntry();
|
||||
|
||||
if (level_text.toInt() == 0) // if current line level = 0, save command and paint it later, fix recursive painting
|
||||
{
|
||||
i_later = i;
|
||||
lineToPrintLater = line_text.toInt();
|
||||
continue;
|
||||
}
|
||||
if (i != e) {
|
||||
i->widget->sourceArea()->addCurrentLine(line_text.toInt(), level_text.toInt());
|
||||
}
|
||||
}
|
||||
if (i_later != endEntry() && lineToPrintLater != -1) {
|
||||
i_later->widget->sourceArea()->addCurrentLine(lineToPrintLater, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Get the AssemblyWidget.
|
||||
|
||||
Reference in New Issue
Block a user