Browse Source

Fixed a bug where non-auto hold in the debug console induced 100% CPU load even when the widget was hidden

QGC4.4
lm 14 years ago
parent
commit
c8f0845a76
  1. 11
      src/ui/DebugConsole.cc

11
src/ui/DebugConsole.cc

@ -255,6 +255,8 @@ void DebugConsole::setAutoHold(bool hold) @@ -255,6 +255,8 @@ void DebugConsole::setAutoHold(bool hold)
void DebugConsole::receiveTextMessage(int id, int component, int severity, QString text)
{
Q_UNUSED(severity);
if (isVisible())
{
QString name = UASManager::instance()->getUASForId(id)->getUASName();
QString comp;
// Get a human readable name if possible
@ -269,8 +271,8 @@ void DebugConsole::receiveTextMessage(int id, int component, int severity, QStri @@ -269,8 +271,8 @@ void DebugConsole::receiveTextMessage(int id, int component, int severity, QStri
case MAV_COMP_ID_WAYPOINTPLANNER:
comp = tr("WP-PLANNER");
break;
case MAV_COMP_ID_AIRSLAM:
comp = tr("AIRSLAM");
case MAV_COMP_ID_SYSTEM_CONTROL:
comp = tr("SYS-CONTROL");
break;
default:
comp = QString::number(component);
@ -278,7 +280,7 @@ void DebugConsole::receiveTextMessage(int id, int component, int severity, QStri @@ -278,7 +280,7 @@ void DebugConsole::receiveTextMessage(int id, int component, int severity, QStri
}
m_ui->receiveText->appendHtml(QString("<font color=\"%1\">(%2:%3) %4</font>\n").arg(UASManager::instance()->getUASForId(id)->getColor().name(), name, comp, text));
//m_ui->receiveText->appendPlainText("");
}
}
void DebugConsole::updateTrafficMeasurements()
@ -396,9 +398,12 @@ void DebugConsole::receiveBytes(LinkInterface* link, QByteArray bytes) @@ -396,9 +398,12 @@ void DebugConsole::receiveBytes(LinkInterface* link, QByteArray bytes)
}
if (lineBuffer.length() > 0) {
if (isVisible())
{
m_ui->receiveText->insertPlainText(lineBuffer);
// Ensure text area scrolls correctly
m_ui->receiveText->ensureCursorVisible();
}
lineBuffer.clear();
}
} else if (link == currLink && holdOn) {

Loading…
Cancel
Save