https://bugs.kde.org/show_bug.cgi?id=434648
Dmitry Kazakov <dimul...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REPORTED |RESOLVED Resolution|--- |FIXED Latest Commit| |https://invent.kde.org/grap | |hics/krita/commit/96d2a09d7 | |eb20543051489d0d21651a4c49b | |f636 --- Comment #1 from Dmitry Kazakov <dimul...@gmail.com> --- Git commit 96d2a09d7eb20543051489d0d21651a4c49bf636 by Dmitry Kazakov. Committed on 21/05/2021 at 10:52. Pushed by dkazakov into branch 'master'. Fix a race condition when starting spontaneous jobs When starting any job we should always explicitly compare the status of the current level of detail. Just the fact that there is no merge/stroke jobs in the updater context is not enough. It happens because an update job transitions into an empty state in three stages. Firstly, it is marked as WAITING, then its lod ticket is removed from the updater context, and, finally, if it is not assigned with any nice task again, it switches into EMPTY state. Between the first and the second states there is a short fragile period when getJobsSnapshot() will return nothing, but currentLevelOfDetail() will still return LoD of the latest job. This state is "okay", we just need to restart queue processing in this case. M +5 -2 libs/image/kis_simple_update_queue.cpp https://invent.kde.org/graphics/krita/commit/96d2a09d7eb20543051489d0d21651a4c49bf636 -- You are receiving this mail because: You are watching all bug changes.