BreakpointViewer doesn't reload breakpoints anymore#104
Merged
m9710797 merged 1 commit intoopenMSX:masterfrom Apr 1, 2022
Merged
BreakpointViewer doesn't reload breakpoints anymore#104m9710797 merged 1 commit intoopenMSX:masterfrom
m9710797 merged 1 commit intoopenMSX:masterfrom
Conversation
Contributor
Author
|
In draft mode because there are some minor glitches when changing watch points. |
m9710797
reviewed
Mar 29, 2022
m9710797
reviewed
Mar 29, 2022
m9710797
reviewed
Mar 29, 2022
m9710797
reviewed
Mar 29, 2022
m9710797
reviewed
Mar 29, 2022
3b9bcb3 to
c89e508
Compare
m9710797
reviewed
Mar 29, 2022
4ef0ea4 to
57b265a
Compare
Contributor
Author
|
BreakpointViewer seems to be working fine in tandem with assembly view and "Add breakpoint..." from the start. |
Contributor
|
Thanks. I'll try to do a more detailed review tomorrow (or the day after). |
m9710797
reviewed
Mar 30, 2022
749b16c to
e510eb9
Compare
m9710797
reviewed
Mar 31, 2022
Contributor
|
I did a 2nd pass of review. Just some minor suggestions (not required to change this). I see you recently created PR#108, I'll try to review that tomorrow, I don't have time today anymore. |
BreakpointViewer now stores references to Breakpoints (Breakpoint, Watchpoints and Conditions) through 3 maps of new data structure "BreakpointData" because just storing references in a hidden column in QTableWidget is not flexible or powerful enough. The new data structure allows "BreakpointViewer" to sync with the emulator only when reconnected and not every time a new breakpoint is created or modified, which is more efficient. Also, since the table of breakpoints is not erased every time, items will not move around without the user's consent (they will not be destroyed and recreated, but reused). minor changes: * renamed processXXXX functions to parseXXXX because it is less of a generic name; * hidden 6th table column stores breakpoint name (id) instead of index; * more generic and useful setTextField function instead of item->setText(); * message box displayed when error received from openMSX; * debugger now waits for openMSX response before performing changes; * to avoid rows moving around, editing or adding a breakpoint now automatically turns sorting off.
Contributor
|
Thanks a lot! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
BreakpointViewernow stores references to Breakpoints (Breakpoint, Watchpoints and Conditions) through 3std::maps of new data structureBreakpointDatabecause just storing references in a hidden column inQTableWidgetis not flexible or powerful enough. The new data structure allowsBreakpointViewerto sync with the emulator only when reconnected and not every time a new breakpoint is created or modified, which is more efficient. Also, since the table of breakpoints is not erased every time, items will not move around without the user's consent (they will not be destroyed and recreated, but reused).minor changes:
processXXXXfunctions toparseXXXXbecause it is a less generic name;setTextFieldfunction instead ofitem->setText();This is an attempt to fix the remaining bugs on pull request #91.