Bug 445831

Summary: Krita 5 crashes at "Convert to File Layer ..."
Product: [Applications] krita Reporter: Andreas Resch <andreas>
Component: GeneralAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal CC: dimula73
Priority: NOR    
Version: nightly build (please specify the git hash!)   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:

Description Andreas Resch 2021-11-20 16:53:25 UTC
Krita 5 crashes when I choose the "Convert to File Layer ..." action from the layer docker. I can pick the path and adjust the settings, but after I click "OK", Krita crashes.

There's nothing special about the file. I just created a new one, made a brush stroke and then tried to convert the layer.

Here's the link to the crash log ... http://www.argfx.at/upload/kritacrash_01.zip


SOFTWARE/OS VERSIONS
Windows: 10 64-Bit
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Dmitry Kazakov 2021-11-22 07:37:24 UTC
Hi, Andreas! 

Could you please specify the exact sha1 of the build you have this crash in? It should be either in the package name or in Help->About box.  

The crash might be related to the patches I did on Friday
Comment 2 Dmitry Kazakov 2021-11-22 07:38:36 UTC
Okay, no need for additional info, I can reproduce it here and it **is** related to my patches.
Comment 3 Dmitry Kazakov 2021-11-22 12:14:23 UTC
Git commit f9a7cc34815e5f495010cb11d427369a72ad5b14 by Dmitry Kazakov.
Committed on 22/11/2021 at 12:14.
Pushed by dkazakov into branch 'master'.

Fix crash when the destination of sync'ed connection is destroyed

It may happen that the destination of KisSynchronizedConnection
is destroyed while the signal is being postponed. It shouldn't
crash because of that.

M  +4    -0    libs/global/KisSynchronizedConnection.cpp
M  +3    -1    libs/global/KisSynchronizedConnection.h
M  +5    -0    libs/ui/KisApplication.cpp

https://invent.kde.org/graphics/krita/commit/f9a7cc34815e5f495010cb11d427369a72ad5b14
Comment 4 Dmitry Kazakov 2021-11-22 12:14:31 UTC
Git commit 30b21146f1746287d49289754f4e6a6b38d9925e by Dmitry Kazakov.
Committed on 22/11/2021 at 12:14.
Pushed by dkazakov into branch 'master'.

Fix delivery of synchronized events that come from the GUI thread

Now KisSynchronizedConnection behaves as QT::AutoConnection, that is,
it delivers events right away, if they are emitted from the GUI thread.

It should fix several bugs, when the GUI thread creates temporary
KisDocument objects and unittests.

M  +6    -1    libs/global/KisSynchronizedConnection.cpp
M  +4    -0    libs/global/KisSynchronizedConnection.h

https://invent.kde.org/graphics/krita/commit/30b21146f1746287d49289754f4e6a6b38d9925e
Comment 5 Dmitry Kazakov 2021-11-25 12:08:03 UTC
Git commit e6437d5a2a45c050eefe7c64757308d9f085d7df by Dmitry Kazakov.
Committed on 25/11/2021 at 11:47.
Pushed by dkazakov into branch 'krita/5.0'.

Fix crash when the destination of sync'ed connection is destroyed

It may happen that the destination of KisSynchronizedConnection
is destroyed while the signal is being postponed. It shouldn't
crash because of that.

M  +4    -0    libs/global/KisSynchronizedConnection.cpp
M  +3    -1    libs/global/KisSynchronizedConnection.h
M  +5    -0    libs/ui/KisApplication.cpp

https://invent.kde.org/graphics/krita/commit/e6437d5a2a45c050eefe7c64757308d9f085d7df
Comment 6 Dmitry Kazakov 2021-11-25 12:08:12 UTC
Git commit e93863bf7c46ecb90a788b7d0cc6f394620f1f95 by Dmitry Kazakov.
Committed on 25/11/2021 at 11:47.
Pushed by dkazakov into branch 'krita/5.0'.

Fix delivery of synchronized events that come from the GUI thread

Now KisSynchronizedConnection behaves as QT::AutoConnection, that is,
it delivers events right away, if they are emitted from the GUI thread.

It should fix several bugs, when the GUI thread creates temporary
KisDocument objects and unittests.

M  +6    -1    libs/global/KisSynchronizedConnection.cpp
M  +4    -0    libs/global/KisSynchronizedConnection.h

https://invent.kde.org/graphics/krita/commit/e93863bf7c46ecb90a788b7d0cc6f394620f1f95