Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Strange Behavior Putting Drawing Events onto the Undo Stack #847

Open
NickDefo opened this issue Aug 1, 2017 · 2 comments
Open

Strange Behavior Putting Drawing Events onto the Undo Stack #847

NickDefo opened this issue Aug 1, 2017 · 2 comments
Labels
cat.Canvas Issue relates to the canvas platform.Windows Issue is reported on Windows type.Bug Something isn't working as intended

Comments

@NickDefo
Copy link

NickDefo commented Aug 1, 2017

There appears to be an issue with how drawing events get added to the undo stack. If you hit undo after a drawing event, but before a time slice is placed onto the undo stack you will undo the drawing event, but immediately have a new drawing event placed onto the undo stack, which contains the previous undo event. This bug appears to have been documented and fixed in issue 174, but it was either reintroduced, or the fix did not make it into the Windows build.

This imgur album shows the described issue: http://imgur.com/a/wtSLt (I could not attach the gifs due to the file size)

Basic system details
MyPaint version: 1.2.1+gitexport.bcf5a28d
Also reproducable on current alpha, 1.3.0-alpha+git.70ce73d9
Operating system: Windows 10 64 bit

Steps to reproduce

  1. Start MyPaint
  2. Begin drawing strokes in rapid succession for a few seconds
  3. After several seconds, hit undo shortly after the last stroke you drew.
  4. Watch the undo/redo arrows in the upper left corner of the screen - You will see the Redo arrow light up and show you that you have something to redo in the Undo/Redo stack, and then it will immediately gray out, as a new undo event is pushed onto the stack for the last few strokes that you drew.
  5. Hit undo: you will restore everything that you had just tried to undo in step 3.

This problem can be exacerbated if you made strokes between when you hit undo, and when the undo event was pushed onto the stack, as these strokes will leave the undo/redo stack in a broken state.

Note: Because this is a timing-dependent bug, it may take a few attempts to reproduce the issue. It all depends on whether or not a slice of pen events were being added to the undo/redo stack before or after you hit undo.

@achadwick
Copy link
Member

Thnaks for the report @NickDefo !

Is it still happening with the latest alpha build? You can get that on the AppVeyor button on the main page, or from https://ci.appveyor.com/project/achadwick/mypaint/branch/master. To download it, click the build for your preferred environment, then the Artifacts tab, and grab the installer exe or the standalone zipfile (either's fine for testing this).

@NickDefo
Copy link
Author

NickDefo commented Aug 6, 2017

Yep, still occurring with the latest alpha build - Sorry for not calling that out more clearly in the original post.

@AesaraB AesaraB added info.Triage Need to triage this type.Bug Something isn't working as intended platform.Windows Issue is reported on Windows cat.Canvas Issue relates to the canvas and removed info.Triage Need to triage this labels Jan 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cat.Canvas Issue relates to the canvas platform.Windows Issue is reported on Windows type.Bug Something isn't working as intended
Development

No branches or pull requests

3 participants