Bug 313124

Summary: Transforming of a semi-transparent layer with Transform Tool crops the result by initial layer bounds
Product: [Applications] krita Reporter: Dmitry Kazakov <dimula73>
Component: Tools/TransformAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
URL: www.davidrevoy.com/XYZ/2013-01_KRITA-BUG-transform-auto-extend.webm
Latest Commit: Version Fixed In:

Description Dmitry Kazakov 2013-01-12 10:08:46 UTC
subj

David Revoy made a cool video showing this bug:
www.davidrevoy.com/XYZ/2013-01_KRITA-BUG-transform-auto-extend.webm
Comment 1 Dmitry Kazakov 2013-01-15 13:10:31 UTC
Git commit d43a6cc487252fb9b8cf935160fdec58d23cf34e by Dmitry Kazakov.
Committed on 15/01/2013 at 14:08.
Pushed by dkazakov into branch 'krita-fixed-transform-kazakov'.

Fixed a cropping bug in the Transform Tool

Actually, most of the code in Krita should not use oldRawData(), but
use rawData() or rawDataConst() instead. There are only few exceptions
when the oldRawData() is mandatory.

In this very bug, the exactBounds() returned wrong values, when called
from within of a transaction.

M  +8    -0    krita/image/kis_base_accessor.h
M  +9    -9    krita/image/kis_paint_device.cc
M  +7    -2    krita/image/tiles3/kis_hline_iterator.cpp
M  +1    -0    krita/image/tiles3/kis_hline_iterator.h
M  +7    -2    krita/image/tiles3/kis_random_accessor.cc
M  +1    -0    krita/image/tiles3/kis_random_accessor.h
M  +7    -2    krita/image/tiles3/kis_rect_iterator.cpp
M  +3    -2    krita/image/tiles3/kis_rect_iterator.h
M  +7    -2    krita/image/tiles3/kis_vline_iterator.cpp
M  +1    -0    krita/image/tiles3/kis_vline_iterator.h

http://commits.kde.org/calligra/d43a6cc487252fb9b8cf935160fdec58d23cf34e