SuperDisk / hUGETracker

The music composition suite for the Nintendo Game Boy
https://superdisk.github.io/hUGETracker/
286 stars 12 forks source link

Broken Undo, sent me back ~100 actions #65

Open bryc opened 2 years ago

bryc commented 2 years ago

I was in the process of copying and pasting a block of vibrato effects in channel 2. I accidentally pasted it to the wrong row, and hit CTRL+Z to undo.

I was expecting only the last paste action to be undone. But most notes and effects in channel 2 disappeared. I was instantaneously set back roughly 50-150 undo events. Only two notes survived, which I laid around 20 minutes earlier.

My guess is that somehow the undo buffer broke or overflowed somehow. I know I hit it only once, I didn't hold it down, I didn't see half a second of undo being animated, it was instantaneous and a complete shock.

I didn't seem to be able to redo anything either. It's possible I panicked and placed a note and lost the ability to redo, but it's also possible that this bug prevents redo regardless. I've never experienced anything like this in OpenMPT in the years I've used it, so I'm pretty sure there's a serious bug here.


A possible clue, or just a coincidence: The exact point in time it reverted to, is when I kept pressing keys, trying add a "OFF" note to channel 2. I hit a bunch of keys, including Caps Lock, Tilde, plus, minus, 1-9 etc.

SuperDisk commented 2 years ago

Hmm, I'll check this out. Thanks for the report. If you can find any way to reliably reproduce, please let me know.