Transaction API refactoring done

Boudewijn Rempt boud at valdyas.org
Fri Jun 11 11:20:24 CEST 2010


On Thursday 10 June 2010, Dmitry Kazakov wrote:
> Hi, All!
> 
> Today i've finished it! So i'm waiting for any review or comments before
> committing.
> 
> Here is a complete explanation of how the new transaction system works
> (with examples even :) ) :
> http://wiki.koffice.org/index.php?title=Krita/Transactions_Design
> 
> A patchset for review:
> http://dimula73.narod.ru/transactions_ref_patchset.tar.gz
> 
> A single patch for testing:
> http://dimula73.narod.ru/transactions_ref_singlepatch.patch
> 
> Testing:
> I would really appreciate if you tested the following issues with the patch
> applied:
> 
> 1) Transformation Tool

Works

> 2) Perspective Transformation Tool

Asserts:

Thread 1 (Thread 0x7f2fcbd1a750 (LWP 11157)):
[KCrash Handler]
#5  0x00007f2fc36034e5 in raise () from /lib64/libc.so.6
#6  0x00007f2fc36049b0 in abort () from /lib64/libc.so.6
#7  0x00007f2fcb53d8f4 in qt_message_output(QtMsgType, char const*) () from 
/usr/lib64/libQtCore.so.4
#8  0x00007f2fcb53dad2 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007f2fcb53dc85 in qFatal(char const*, ...) () from 
/usr/lib64/libQtCore.so.4
#10 0x00007f2fcb53dcae in qt_assert_x(char const*, char const*, char const*, 
int) () from /usr/lib64/libQtCore.so.4
#11 0x00007f2fa669eef7 in QVector<QPointF>::operator[] (this=0x550a328, i=-1) 
at /usr/include/QtCore/qvector.h:346
#12 0x00007f2fa669804b in KisToolPerspectiveTransform::orderHandles 
(this=0x550a250) at 
/home/boud/kde/src/koffice/krita/plugins/tools/tool_perspectivetransform/kis_tool_perspectivetransform.cc:265
#13 0x00007f2fa669c905 in KisToolPerspectiveTransform::mouseReleaseEvent 
(this=0x550a250, event=0x7fffdb736e30)
    at 
/home/boud/kde/src/koffice/krita/plugins/tools/tool_perspectivetransform/kis_tool_perspectivetransform.cc:464

> 3) Image->Rotate Image->Custom...->11deg

Works

> Tools should work (at least once) and Undo must be possible.

Most things I've tried seem to work, and it might be my imagination, but 
everything feels a lot smoother.

> All the comments and suggestions are welcome! :)

It looks good, a very nice simplification of a lot of code. There are some 
failing unittests, though of course we never know whether these are new 
failures.
          6 - krita-image-KisFixedPaintDeviceTest (Failed)
          9 - krita-image-KisIteratorTest (Failed)
         10 - krita-image-KisPainterTest (Failed)
         28 - krita-image-KisConvolutionPainterTest (Failed)
         44 - krita-image-KisIteratorsNGTest (Failed)
         48 - krita-image-KisAsyncMergerTest (Failed)
         60 - krita-image-KisPaintopRegistryTest (Failed)
         61 - krita-image-KisPaintopSettingsTest (Failed)
         91 - krita-ui-KisKraSaverTest (Failed)
         92 - krita-ui-KisKraSaveXmlVisitorTest (Failed)
         93 - krita-ui-ShapeSelectionTest (Failed)
        100 - krita-libbrush-KisAutobrushTest (Failed)
        104 - krita-mypaint-KisMyPaintSurfaceTest (Failed)
        106 - krita-plugins-formats-tiff_test (Failed)
        108 - krita-ui-kis_exr_test (Failed)
        110 - krita-plugin-format-xcf_test (Failed)
        112 - krita-cs-ko_ctl_channel_test (Failed)
        113 - krita-cs-ko_rgb_32f_test (Failed)
        114 - krita-cs-ko_rgb_16f_test (Failed)



More importantly, it seems that KisGroupLayerTest, KisMacroTest, 
KisSelectionMaskTest, KisTransformVistor now hang in a deadlock. 

-- 
Boudewijn Rempt | http://www.valdyas.org



More information about the kimageshop mailing list