Bug 277736

Summary: Undo during the painting does weird things
Product: [Applications] krita Reporter: Dmitry Kazakov <dimula73>
Component: GeneralAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:

Description Dmitry Kazakov 2011-07-14 06:34:29 UTC
1) Turn on build-up mode in the brush
2) Start painting something
3) Press Ctrl+Z a couple of times during the stroke

The canvas will go into a weird state. Some parts of the canvas will be undone, some not. After that Krita may crash on exit.

I'm trying to solve this issue within the strokes framework right now.
Comment 1 Dmitry Kazakov 2011-08-03 14:11:04 UTC
Git commit 3a6d6d7b2c6c6de81b6a0a3b850dbe3e07e13f2b by Dmitry Kazakov.
Committed on 03/08/2011 at 16:05.
Pushed by dkazakov into branch 'krita_strokes_framework_kazakov'.

Added our own undo stack

The new stack doesn't start undo/redo if there is any processing
in progress. We might add block/unblock() calls to the stack, but
this will be very inefficient, due to the huge synchronization
overhead.

CCBUG:277736

M  +21   -0    krita/image/kis_image.cc
M  +1    -0    krita/image/kis_image.h
M  +9    -0    krita/image/kis_update_scheduler.h
M  +1    -1    krita/ui/kis_doc2.h
M  +16   -1    krita/image/kis_update_scheduler.cpp
M  +2    -1    krita/ui/kis_doc2.cc
A  +68   -0    krita/ui/kis_doc2_p.h     [License: GPL (v2+)]

http://commits.kde.org/calligra/3a6d6d7b2c6c6de81b6a0a3b850dbe3e07e13f2b