Krita crashes everytime trying to save a LAB file, it tries to save *.kra.randomNumber.new file which cannot be opened after renaming to *.kra Reproducible: Always Steps to Reproduce: 1.create a LAB file 2.Save or SaveAs 3. Actual Results: Crash Expected Results: no crash
Outch, you're right. And it's because we now save the mergedimage.png using our own png code... Thread 1 (Thread 0x7f36db2017c0 (LWP 21303)): [KCrash Handler] #5 0x00007f36d1fbb187 in raise () at /lib64/libc.so.6 #6 0x00007f36d1fbc538 in abort () at /lib64/libc.so.6 #7 0x00007f36d32b62b4 in qt_message_output(QtMsgType, char const*) () at /usr/lib64/libQtCore.so.4 #8 0x00007f36d32b6439 in () at /usr/lib64/libQtCore.so.4 #9 0x00007f36d32b6c44 in qFatal(char const*, ...) () at /usr/lib64/libQtCore.so.4 #10 0x00007f36d32b6c8a in () at /usr/lib64/libQtCore.so.4 #11 0x00007f36da8bd83a in KisPNGConverter::buildFile(QIODevice*, KisWeakSharedPtr<KisImage>, KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisAnnotation>*, KisSharedPtr<KisAnnotation>*, KisPNGOptions, KisMetaData::Store*) (this=this@entry=0x7fff9bcefe30, iodevice=iodevice@entry=0x7fff9bcefdb0, image=..., device=..., annotationsStart=annotationsStart@entry=0x0, annotationsEnd=annotationsEnd@entry=0x0, options=..., metaData=metaData@entry=0x0) at /home/boud/kde/src/2.9/krita/ui/kis_png_converter.cpp:953 #12 0x00007f36da8beb91 in KisPNGConverter::saveDeviceToStore(QString const&, KisWeakSharedPtr<KisImage>, KisSharedPtr<KisPaintDevice>, KoStore*, KisMetaData::Store*) (filename=..., image=..., dev=..., store=store@entry=0xc449190, metaData=metaData@entry=0x0) at /home/boud/kde/src/2.9/krita/ui/kis_png_converter.cpp:834 #13 0x00007f36da9380f7 in KisKraSaver::saveBinaryData(KoStore*, KisWeakSharedPtr<KisImage>, QString const&, bool, bool) (this=0x911c260, store=store@entry=0xc449190, image=..., uri=..., external=external@entry=true, autosave=autosave@entry=false) at /home/boud/kde/src/2.9/krita/ui/kra/kis_kra_saver.cpp:187 #14 0x00007f36daa9dbc0 in KisDocument::completeSaving(KoStore*) (this=0x44122b0, store=0xc449190) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:1882 #15 0x00007f36daaa8e87 in KisDocument::saveNativeFormatCalligra(KoStore*) (this=this@entry=0x44122b0, store=store@entry=0xc449190) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:1009 #16 0x00007f36daaa9426 in KisDocument::saveNativeFormat(QString const&) (this=this@entry=0x44122b0, file=...) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:972 #17 0x00007f36daaa2791 in KisDocument::saveFile() (this=0x44122b0) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:732 #18 0x00007f36daaab7f1 in KisDocument::save() (this=0x44122b0) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:2316 #19 0x00007f36daaacc9c in KisDocument::saveAs(KUrl const&) (this=0x44122b0, kurl=...) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:2282 #20 0x00007f36daae13b7 in KisMainWindow::saveDocument(KisDocument*, bool, bool, int) (this=this@entry=0x2f69100, document=0x44122b0, saveas=<optimized out>, saveas@entry=true, silent=silent@entry=false, specialOutputFlag=specialOutputFlag@entry=0) at /home/boud/kde/src/2.9/krita/ui/KisMainWindow.cpp:943 #21 0x00007f36daae2776 in KisMainWindow::slotFileSaveAs() (this=0x2f69100) at /home/boud/kde/src/2.9/krita/ui/KisMainWindow.cpp:1185 #22 0x00007f36daae91a4 in KisMainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x2f69100, _c=<optimized out>, _id=<optimized out>, _a=0x7fff9bcf0ea0) at /home/boud/kde/build/2.9/krita/ui/KisMainWindow.moc:179 #23 0x00007f36d33d61fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4 #24 0x00007f36d3dca622 in QAction::triggered(bool) () at /usr/lib64/libQtGui.so.4 #25 0x00007f36d3dcbfd3 in QAction::activate(QAction::ActionEvent) () at /usr/lib64/libQtGui.so.4 #26 0x00007f36d41f4b79 in () at /usr/lib64/libQtGui.so.4 #27 0x00007f36d41f90c9 in () at /usr/lib64/libQtGui.so.4 #28 0x00007f36d41fb357 in QMenu::keyPressEvent(QKeyEvent*) () at /usr/lib64/libQtGui.so.4 #29 0x00007f36d4b9eab0 in KMenu::keyPressEvent(QKeyEvent*) () at /usr/lib64/libkdeui.so.5 #30 0x00007f36d3e1fad4 in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #31 0x00007f36d41fcf2b in QMenu::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #32 0x00007f36d3dd076c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #33 0x00007f36d3dd7f61 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #34 0x00007f36daa96a37 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x3dade00, event=0x7fff9bcf1530) at /home/boud/kde/src/2.9/krita/ui/KisApplication.cpp:541 #35 0x00007f36d33c22ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4 #36 0x00007f36d3e6aab7 in () at /usr/lib64/libQtGui.so.4 #37 0x00007f36d3e6ae59 in () at /usr/lib64/libQtGui.so.4 #38 0x00007f36d3e46a5f in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4 #39 0x00007f36d3e6df30 in () at /usr/lib64/libQtGui.so.4 #40 0x00007f36d33c0e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #41 0x00007f36d33c1165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #42 0x00007f36d33c65b9 in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4 #43 0x0000000000402b69 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/2.9/krita/main.cc:194
Git commit 7b6c71ed0b3d05a33958b006fda48593bbd28abb by Boudewijn Rempt. Committed on 09/07/2015 at 17:39. Pushed by rempt into branch 'calligra/2.9'. The crash happened because png cannot save anything but gray and rgb, so we need to convert the projection if the image is in another colorspace. M +10 -1 krita/ui/kra/kis_kra_saver.cpp http://commits.kde.org/calligra/7b6c71ed0b3d05a33958b006fda48593bbd28abb
*** Bug 350254 has been marked as a duplicate of this bug. ***
Saving LAB works fine now, thanks