Summary: | Color Transfer Effects crash | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | sinozzuke <sinozzuke> |
Component: | General | Assignee: | Krita Bugs <krita-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | cberger, halla |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
sinozzuke
2011-07-16 12:33:35 UTC
Ack: [KCrash Handler] #6 0x0000000000000000 in ?? () #7 0x00007fbdf5964349 in QMetaObject::cast (this=0x7fbdf24786c0, obj=0x7fbdcd055a60) at kernel/qmetaobject.cpp:266 #8 0x00007fbdf21d6b14 in qobject_cast<KoResourceManager*> (object=<optimized out>) at /usr/include/QtCore/qobject.h:366 #9 KoShapeFactoryBase::pruneDocumentResourceManager (this=0xb4d240, obj=<optimized out>) at /home/boud/kde/src/calligra/libs/flake/KoShapeFactoryBase.cpp:242 #10 0x00007fbdf218edd0 in KoShapeFactoryBase::qt_metacall (this=0xb4d240, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fbdc06db470) at /home/boud/kde/build/calligra/libs/flake/moc_KoShapeFactoryBase.cpp:73 #11 0x00007fbdf59723ca in QObject::event (this=0xb4d240, e=<optimized out>) at kernel/qobject.cpp:1217 #12 0x00007fbdee8740a4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4 #13 0x00007fbdee87c65a in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4 #14 0x00007fbdef4db346 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5 #15 0x00007fbdf595e40c in QCoreApplication::notifyInternal (this=0x7fff686bd740, receiver=0xb4d240, event=0x7fbdc08e8660) at kernel/qcoreapplication.cpp:787 #16 0x00007fbdf5961c05 in sendEvent (event=0x7fbdc08e8660, receiver=0xb4d240) at kernel/qcoreapplication.h:215 #17 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x60b400) at kernel/qcoreapplication.cpp:1428 #18 0x00007fbdf598c2f0 in QEventDispatcherUNIX::processEvents (this=0x610e10, flags=...) at kernel/qeventdispatcher_unix.cpp:904 #19 0x00007fbdee91ab9c in ?? () from /usr/lib64/libQtGui.so.4 #20 0x00007fbdf595d862 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #21 0x00007fbdf595da75 in QEventLoop::exec (this=0x7fff686bd6f0, flags=...) at kernel/qeventloop.cpp:201 #22 0x00007fbdf5961ebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064 #23 0x00007fbdf5c964b5 in kdemain (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/calligra/krita/main.cc:49 #24 0x00007fbded272bfd in __libc_start_main () from /lib64/libc.so.6 #25 0x0000000000400929 in _start () at ../sysdeps/x86_64/elf/start.S:113 Tricky one this. The color transfer filter imports/loads the image in the process methods. Since we try to process the filter in chunks for the preview, we try to load and delete the image many times in different threads -- and that's not going to work. The filter should probably be rewritten to store the image itself in the settings and pass that to the process method. actually, all you need to store is the mean and sigma of L,a,b channels of the reference image. And compute them only once when opening the image in the filter widget. Git commit 0a3fa8fb560dc983bf682fe1f4680747ebb45f47 by Boudewijn Rempt. Committed on 18/07/2011 at 11:14. Pushed by rempt into branch 'master'. FastColorTransfer: compute mean and sigma and store those in the config We used to compute mean and sigma for the reference image in the process(). This is wasteful, so compute those only once and store the values in the config object. BUG:277888 M +17 -62 krita/plugins/filters/fastcolortransfer/fastcolortransfer.cpp M +87 -5 krita/plugins/filters/fastcolortransfer/kis_wdg_fastcolortransfer.cpp http://commits.kde.org/calligra/0a3fa8fb560dc983bf682fe1f4680747ebb45f47 |