1) Create a brush from a Clipboard 2) Select a Filter Brush 3) Switch to "Invert" filter 4) Click on canvas several times with a mouse -> assert krita(8657)/kparts KParts::ReadWritePart::setModified: setModified( true ) krita(8657): "[ 0: /usr/lib64/libkdecore.so.5(kRealBacktrace(int)+0x35) [0x7f5413880305] 1: /home/devel/kde-install/calligra/lib64/libkritaimage.so.13(KisPainter::bitBltWithFixedSelection(int, int, KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisFixedPaintDevice>, int, int, int, int, unsigned int, unsigned int)+0x19e) [0x7f541a4712ee] 2: /home/devel/kde-install/calligra/lib64/kde4/kritafilterop.so(+0xe97d) [0x7f53faaa497d] 3: /home/devel/kde-install/calligra/lib64/libkritaimage.so.13(KisPaintInformation::paintAt(KisPaintOp*, KisDistanceInformation*)+0x27) [0x7f541a479dc7] 4: /home/devel/kde-install/calligra/lib64/libkritaimage.so.13(KisPaintOp::paintAt(KisPaintInformation const&, KisDistanceInformation*)+0x43) [0x7f541a47cad3] 5: /home/devel/kde-install/calligra/lib64/libkritaui.so.13(FreehandStrokeStrategy::doStrokeCallback(KisStrokeJobData*)+0x1d9) [0x7f541ad327f9] 6: /home/devel/kde-install/calligra/lib64/libkritaimage.so.13(+0xc3071) [0x7f541a42e071] 7: /usr/lib64/libQtCore.so.4(+0x6fe15) [0x7f541b366e15] 8: /usr/lib64/libQtCore.so.4(+0x7b025) [0x7f541b372025] 9: /lib64/libpthread.so.0(+0x7f05) [0x7f541b0e1f05] 10: /lib64/libc.so.6(clone+0x6d) [0x7f541287253d] ] " ASSERT: "selection->bounds().contains(selRect)" in file /home/devel/kde-src/calligra/krita/image/kis_painter.cc, line 323 KCrash: Application 'krita' crashing... KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit Thread 9 (Thread 0x7f53fc40d700 (LWP 8681)): [KCrash Handler] #6 0x00007f54127cdd95 in raise () from /lib64/libc.so.6 #7 0x00007f54127cf2ab in abort () from /lib64/libc.so.6 #8 0x00007f541b3689f4 in qt_message_output (msgType=<optimized out>, buf=<optimized out>) at global/qglobal.cpp:2291 #9 0x00007f541b368baf in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f541b4b7678 "ASSERT: \"%s\" in file %s, line %d", ap=0x7f53fc40c688) at global/qglobal.cpp:2337 #10 0x00007f541b368d54 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2520 #11 0x00007f541b368d9a in qt_assert (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:2036 #12 0x00007f541a471354 in KisPainter::bitBltWithFixedSelection (this=0x6e48d40, dstX=663, dstY=428, srcDev=..., selection=..., selX=0, selY=0, srcX=0, srcY=0, srcWidth=116, srcHeight=102) at /home/devel/kde-src/calligra/krita/image/kis_painter.cc:323 #13 0x00007f53faaa497d in paintAt (info=<optimized out>, this=0x6e452a0) at /home/devel/kde-src/calligra/krita/plugins/paintops/filterop/kis_filterop.cpp:149 #14 KisFilterOp::paintAt (this=0x6e452a0, info=<optimized out>) at /home/devel/kde-src/calligra/krita/plugins/paintops/filterop/kis_filterop.cpp:70 #15 0x00007f541a479dc7 in KisPaintInformation::paintAt (this=0x7f53fc40cc10, op=<optimized out>, distanceInfo=0x6f73450) at /home/devel/kde-src/calligra/krita/image/brushengine/kis_paint_information.cc:118 #16 0x00007f541a47cad3 in KisPaintOp::paintAt (this=0x6e452a0, info=..., currentDistance=0x6f73450) at /home/devel/kde-src/calligra/krita/image/brushengine/kis_paintop.cc:172 #17 0x00007f541ad327f9 in FreehandStrokeStrategy::doStrokeCallback (this=<optimized out>, data=<optimized out>) at /home/devel/kde-src/calligra/krita/ui/tool/strokes/freehand_stroke.cpp:61 #18 0x00007f541a42e071 in KisUpdateJobItem::run (this=0x2be55f0) at /home/devel/kde-build/calligra/krita/image/../../../../kde-src/calligra/krita/image/kis_update_job_item.h:61 #19 0x00007f541b366e15 in QThreadPoolThread::run (this=0x231ec60) at concurrent/qthreadpool.cpp:106 #20 0x00007f541b372025 in QThreadPrivate::start (arg=0x231ec60) at thread/qthread_unix.cpp:331 #21 0x00007f541b0e1f05 in start_thread () from /lib64/libpthread.so.0 #22 0x00007f541287253d in clone () from /lib64/libc.so.6
This is quite recent regression, btw.
Weird backtrace -- the first bit looks like it's the autosave bug, then it looks like a bug in kispainter.
Git commit fa2dbe98ea701b4963edc4c697bec40565b2bbf2 by Dmitry Kazakov. Committed on 26/08/2013 at 19:27. Pushed by dkazakov into branch 'master'. Fixed a subpixel precision calculation of mask sizes Now the size of the mask is calculated depending on the fractional offset. This is the second version of a commit 2c30521 which was reverted due to the problems with the autobrush. Now the auto brush calculates the center of the dab correctly using the hotspot information which gives the most stable and correct results. M +2 -2 krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop.cpp M +2 -2 krita/plugins/paintops/filterop/kis_filterop.cpp M +8 -6 krita/plugins/paintops/libbrush/kis_auto_brush.cpp M +9 -7 krita/plugins/paintops/libbrush/kis_brush.cpp M +2 -2 krita/plugins/paintops/libbrush/kis_brush.h M +4 -4 krita/plugins/paintops/libbrush/kis_brushes_pipe.h M +4 -4 krita/plugins/paintops/libbrush/kis_imagepipe_brush.cpp M +2 -2 krita/plugins/paintops/libbrush/kis_imagepipe_brush.h M +6 -6 krita/plugins/paintops/libbrush/kis_text_brush.cpp M +2 -2 krita/plugins/paintops/libbrush/kis_text_brush.h M +18 -18 krita/plugins/paintops/libbrush/tests/kis_auto_brush_test.cpp M +6 -4 krita/plugins/paintops/libbrush/tests/kis_imagepipe_brush_test.cpp M +3 -3 krita/plugins/paintops/libpaintop/kis_dab_cache.cpp http://commits.kde.org/calligra/fa2dbe98ea701b4963edc4c697bec40565b2bbf2