Bug discovered by Bubsy
Full Version:
OpenMPT v1.17.02.52
Has the bug occured in previous versions? If yes, please specify version(s): (This option is optional, and doesn't need research. But in case you know...)
It happened before, but the bug was worse before. It could even crash OpenMPT, which now happens less frequently.
Description of the bug:
If you remove patterns and sequences using the treeview, and you then create a new pattern in the orderlist, it automatically creates 2 patterns and assign pattern 1 to the order, leaving you an empty pattern 0. It used to crash OpenMPT if you entered a note in pattern 1 too.
How often does it happen?:
Always.
How to reproduce (step by step description):
Go to the treeview. Unvold the sequences from your song. Select the first, and press delete to delete them all. Use the same technique to remove the patterns using the treeview.
Head to the general tab, and use the orderlist to create a new pattern. It'll create 2 patterns under the patterns section in the treeview.
Can't reproduce that with any version of OpenMPT. I remove patterns/sequences from the treeview and then create a new pattern. There's only pattern 0.
I'll make a demonstration video somewhere upcoming days.
Can you remind me about this Jojo?
Also, if you remove the patterns from the orderlist, it doesn't bug.
And I do this right after I load a song. Could also help.
EDIT: it does only make one order though, but it says [ 01 ] [ ... ] [ ... ]
And the treeview says
[sequence]
01 -
[pattern]
00
01
I did it exactly like you described it and it does not happen.
I still can't reproduce this. What I've found out, though, is that the pattern names are kept, which should not be done.
Okay, I finally managed to reproduce this. It's actually enough to just delete all patterns.
Okay, I've got this far:
- Delete all patterns from the tree view.
- Switch to pattern tab
- Right-click on treeview -> refresh: You will see that pattern is already there, but it's not shown until you refresh the view or add another pattern.
So the actual "problem" seems to be that a pattern is added as soon as you switch to the pattern tab - however, you can't see this.
EDIT: note to self: see SetCurrentPattern() in view_pat.cpp