mirror of
https://github.com/epasveer/seer.git
synced 2026-08-30 00:50:42 +08:00
Fixed regression bug for memory and array visualizers.
The bug didn't allow an address to be manually entered. Broke when I improved Ada support.
This commit is contained in:
@@ -150,21 +150,36 @@ void SeerMemoryVisualizerWidget::handleText (const QString& text) {
|
||||
|
||||
if (text.contains(QRegExp("^([0-9]+)\\^done,value="))) {
|
||||
|
||||
// 10^done,value="1"
|
||||
// 11^done,value="1"
|
||||
// 11^done,value="0x7fffffffd538"
|
||||
|
||||
QString id_text = text.section('^', 0,0);
|
||||
|
||||
if (id_text.toInt() == _variableId) {
|
||||
|
||||
QString value_text = Seer::parseFirst(text, "value=", '"', '"', false);
|
||||
QString address = "";
|
||||
|
||||
// Look for an address in the value.
|
||||
QRegExp re("0[xX][0-9a-fA-F]+");
|
||||
if (address == "") {
|
||||
QRegExp re("0[xX][0-9a-fA-F]+");
|
||||
|
||||
re.indexIn(text);
|
||||
re.indexIn(value_text);
|
||||
|
||||
QString address = re.cap();
|
||||
address = re.cap();
|
||||
}
|
||||
|
||||
setVariableAddress((address == "") ? "not an address" : address);
|
||||
// Look for a number in the value.
|
||||
if (address == "") {
|
||||
QRegExp re("[0-9]+");
|
||||
|
||||
re.indexIn(value_text);
|
||||
|
||||
address = re.cap();
|
||||
}
|
||||
|
||||
// Set the variable address.
|
||||
setVariableAddress(address);
|
||||
}
|
||||
|
||||
}else if (text.contains(QRegExp("^([0-9]+)\\^done,memory="))) {
|
||||
|
||||
Reference in New Issue
Block a user