@@ -1074,20 +1074,20 @@ bool MainWindow::breakAdd(const QString &label, uint32_t addr, bool enabled, boo
1074
1074
btnEnable->setCheckable (true );
1075
1075
btnEnable->setChecked (enabled);
1076
1076
1077
+ QTableWidgetItem *itemLabel = new QTableWidgetItem (label);
1078
+ QTableWidgetItem *itemAddr = new QTableWidgetItem (addrStr);
1079
+ QTableWidgetItem *itemBreak = new QTableWidgetItem;
1080
+ QTableWidgetItem *itemRemove = new QTableWidgetItem;
1081
+
1077
1082
connect (btnRemove, &QToolButton::clicked, this , &MainWindow::breakRemoveSelected);
1078
- connect (btnEnable, &QToolButton::clicked, [this , btnEnable, row ](bool checked) {
1079
- uint32_t addr = static_cast <uint32_t >(hex2int (m_breakpoints-> item (row, BREAK_ADDR_COL) ->text ()));
1083
+ connect (btnEnable, &QToolButton::clicked, [this , btnEnable, itemAddr ](bool checked) {
1084
+ uint32_t addr = static_cast <uint32_t >(hex2int (itemAddr ->text ()));
1080
1085
btnEnable->setIcon (checked ? m_iconCheck : m_iconCheckGray);
1081
1086
debug_watch (addr, DBG_MASK_EXEC, checked);
1082
1087
disasmUpdate ();
1083
1088
memUpdate ();
1084
1089
});
1085
1090
1086
- QTableWidgetItem *itemLabel = new QTableWidgetItem (label);
1087
- QTableWidgetItem *itemAddr = new QTableWidgetItem (addrStr);
1088
- QTableWidgetItem *itemBreak = new QTableWidgetItem;
1089
- QTableWidgetItem *itemRemove = new QTableWidgetItem;
1090
-
1091
1091
m_breakpoints->setItem (row, BREAK_NAME_COL, itemLabel);
1092
1092
m_breakpoints->setItem (row, BREAK_ADDR_COL, itemAddr);
1093
1093
m_breakpoints->setItem (row, BREAK_ENABLE_COL, itemBreak);
@@ -1463,13 +1463,12 @@ void MainWindow::watchUpdate() {
1463
1463
}
1464
1464
}
1465
1465
1466
- void MainWindow::watchUpdateRow (int row ) {
1466
+ void MainWindow::watchUpdateRow (QTableWidgetItem *itemLow, QTableWidgetItem *itemHigh ) {
1467
1467
1468
1468
// this is needed in the case of overlapping address spaces
1469
- if (m_watchpoints->item (row, WATCH_LOW_COL)->text () != DEBUG_UNSET_ADDR &&
1470
- m_watchpoints->item (row, WATCH_HIGH_COL)->text () != DEBUG_UNSET_ADDR) {
1471
- uint32_t low = static_cast <uint32_t >(hex2int (m_watchpoints->item (row, WATCH_LOW_COL)->text ()));
1472
- uint32_t high = static_cast <uint32_t >(hex2int (m_watchpoints->item (row, WATCH_HIGH_COL)->text ()));
1469
+ if (itemLow->text () != DEBUG_UNSET_ADDR && itemHigh->text () != DEBUG_UNSET_ADDR) {
1470
+ uint32_t low = static_cast <uint32_t >(hex2int (itemLow->text ()));
1471
+ uint32_t high = static_cast <uint32_t >(hex2int (itemHigh->text ()));
1473
1472
1474
1473
for (uint32_t addr = low; addr <= high; addr++) {
1475
1474
debug_watch (addr, DBG_MASK_READ | DBG_MASK_WRITE, false );
@@ -1534,13 +1533,13 @@ bool MainWindow::watchAdd(const QString& label, uint32_t low, uint32_t high, int
1534
1533
btnWrite->setCheckable (true );
1535
1534
btnWrite->setChecked ((mask & DBG_MASK_WRITE) ? true : false );
1536
1535
1537
- connect (btnRead, &QToolButton::clicked, [this , btnRead, row ](bool checked) {
1536
+ connect (btnRead, &QToolButton::clicked, [this , btnRead, itemLow, itemHigh ](bool checked) {
1538
1537
btnRead->setIcon (checked ? m_iconCheck : m_iconCheckGray);
1539
- watchUpdateRow (row );
1538
+ watchUpdateRow (itemLow, itemHigh );
1540
1539
});
1541
- connect (btnWrite, &QToolButton::clicked, [this , btnWrite, row ](bool checked) {
1540
+ connect (btnWrite, &QToolButton::clicked, [this , btnWrite, itemLow, itemHigh ](bool checked) {
1542
1541
btnWrite->setIcon (checked ? m_iconCheck : m_iconCheckGray);
1543
- watchUpdateRow (row );
1542
+ watchUpdateRow (itemLow, itemHigh );
1544
1543
});
1545
1544
1546
1545
m_watchpoints->setRowCount (row + 1 );
0 commit comments