Closed RetroEdit closed 1 day ago
Repro'd with Ctrl+Shift+A keyboard shortcut but not Edit
> Select All
, and it only happened if the cursor was on frame 0, regardless of whether I'd advanced through frame 1 or not. Also the assert message is missing for some reason under Mono. (For future reference, you should be able to copy the full error text with Ctrl+C, even though it's not a textbox.)
I was able to reproduce this even when my cursor wasn't on frame 0. It happens basically anytime I try to Ctrl+A
select for the first time on a particular frame. My previous repro steps before I simplified them (which I just retested now) were as follows:
Original:
Ctrl+A
Simplify 1: same, but insert only 500 frames, markers on frames 200 and 400, don't seek, and select frame 201.
Simplify 2: same, but insert only 10 frames, markers on frames 2 and 11, don't seek, and select frame 10.
I only frame-advanced for the sake of my original methodology of inserting frames, since I didn't want to insert at frame 0.
I'm just not sure what the "correct" fix here is. The base problem is pretty simple: Some way or another an attempt is made to select a certain number of rows from the input roll, without regard for whether any of them are already selected.
One way to fix this could be to just remove the Debug.Assert. We already have the logic to prevent duplicate selections and could just silently reject them.
Alternatively, every time a cell is to be selected, the calling code needs to make sure that this cell isn't already selected (I did something like that in https://github.com/TASEmulators/BizHawk/commit/8278b3057980b5d3214ebe14417975b7740fd020 already).
Try that ^
Reopen once this inevitably happens again on some other code path.
This is new to the dev build. It isn't present in 2.9.1.
I went through
git bisect
and it yielded 2a67cf93ecd89aaa7706d9843945c200002cd90c unsurprisingly.Maybe this wouldn't be present if I built BizHawk in release configuration, but I didn't test that.
Repro
Tools > TAStudio
)Ctrl+A
to select all framesCtrl+A
for the first time, regardless of whether it's been emulated or not.Output
This error dialog doesn't have copy pastable contents, so I'll leave getting the rest as an exercise for the reviewer. If you Ignore, it repeats for all cells in the row and then it seems to be fine.
Host env.