https://bugs.kde.org/show_bug.cgi?id=463083
Daniel Vrátil <dvra...@kde.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED Latest Commit| |https://invent.kde.org/pim/ | |messagelib/-/commit/624cee4 | |1de9780e73951913282eceb376f | |d34788 --- Comment #4 from Daniel Vrátil <dvra...@kde.org> --- Git commit 624cee41de9780e73951913282eceb376fd34788 by Daniel Vrátil. Committed on 29/05/2023 at 12:40. Pushed by dvratil into branch 'release/23.04'. Fix crash when switching signed/encrypted emails very fast Kleo::KeyCache internally uses a QEventLoop to block until it finishes initializing. The initialization happens the first time the user opens a signed or encrypted email. If they switch to another email before the KeyCache is done initializing it leads to a crash in MessageViewer, since message pointers change while MessageViewer is still "blocked" in OTP. To avoid the crash, and running a nested event loop in general, this change introduces KeyCacheMemento, which allows to wait for the KeyCache to initialize asynchronously before the MessagePart queries it. M +4 -0 mimetreeparser/src/CMakeLists.txt A +61 -0 mimetreeparser/src/memento/compositememento.cpp [License: GPL(v2.0+)] A +60 -0 mimetreeparser/src/memento/compositememento.h [License: GPL(v2.0+)] A +50 -0 mimetreeparser/src/memento/keycachememento.cpp [License: GPL(v2.0+)] A +40 -0 mimetreeparser/src/memento/keycachememento.h [License: GPL(v2.0+)] M +55 -16 mimetreeparser/src/messagepart.cpp M +9 -1 mimetreeparser/src/messagepart.h https://invent.kde.org/pim/messagelib/-/commit/624cee41de9780e73951913282eceb376fd34788 -- You are receiving this mail because: You are watching all bug changes.