View Issue Details

IDProjectCategoryView StatusLast Update
0001442OpenMPTGeneralpublic2021-04-17 23:52
Reporterveksha Assigned ToSaga Musix  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformx64OSWindowsOS Version10
Product VersionOpenMPT 1.30.00.* (current testing) 
Target VersionOpenMPT 1.29.10.00 / libopenmpt 0.5.9 (upcoming stable)Fixed in VersionOpenMPT 1.29.10.00 / libopenmpt 0.5.9 (upcoming stable) 
Summary0001442: undo/redo for channels add/remove is bugged
Description

Try to add new channel, then undo it and redo it. You will encounter some bugs.

Steps To Reproduce

a) assume that there is only one channel named "111"

  1. right click on channel header -> add channel -> AFTER this channel
  2. undo once
  3. redo once
  4. new channel did not return.

b) assume that there is only one channel named "111"

  1. right click on channel header -> add channel -> BEFORE this channel
  2. undo once
  3. redo once
  4. new channel will replace old channel "111".

c) assume that there is only one channel named "111"

  1. right click on channel "111" header -> add channel -> AFTER this channel
  2. right click on channel "111" header -> add channel -> BEFORE this channel
  3. undo once
  4. redo once
  5. one channel will return, but third one will be dropped at the same time.
TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Activities

StarWolf3000

StarWolf3000

2021-04-06 12:05

reporter   ~0004702

I haven't tested this in 1.30.00.* (testing), but I can say that it works as intended on 1.29.*.*

Undo and Redo remove and re-add the channels as you would expect.

Saga Musix

Saga Musix

2021-04-06 19:00

administrator   ~0004703

There are some optimizations in 1.30 which make it easier to update the UI for just a single channel if only that one channel was edited (e.g. channel name). It's probably related to these changes, I'll look into it.

Saga Musix

Saga Musix

2021-04-17 23:39

administrator   ~0004719

There are some edge cases that also don't work properly in 1.29 due to similar fundamental issues. For example:

  1. Have a single channel with some data in it
  2. Duplicate it.
  3. Undo
  4. Redo and observe that the data from the second channel is gone.
Saga Musix

Saga Musix

2021-04-17 23:52

administrator   ~0004720

Should be fixed in r14623 (and a fix in r14624 for OpenMPT 1.29).

Issue History

Date Modified Username Field Change
2021-04-05 17:02 veksha New Issue
2021-04-06 12:05 StarWolf3000 Note Added: 0004702
2021-04-06 13:16 Saga Musix Assigned To => Saga Musix
2021-04-06 13:16 Saga Musix Status new => assigned
2021-04-06 19:00 Saga Musix Note Added: 0004703
2021-04-17 23:39 Saga Musix Note Added: 0004719
2021-04-17 23:52 Saga Musix Note Added: 0004720
2021-04-17 23:52 Saga Musix Status assigned => resolved
2021-04-17 23:52 Saga Musix Resolution open => fixed
2021-04-17 23:52 Saga Musix Fixed in Version => OpenMPT 1.29.10.00 / libopenmpt 0.5.9 (upcoming stable)
2021-04-17 23:52 Saga Musix Target Version => OpenMPT 1.29.10.00 / libopenmpt 0.5.9 (upcoming stable)