https://bugs.kde.org/show_bug.cgi?id=478225

Dmitry Kazakov <dimul...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
      Latest Commit|                            |https://invent.kde.org/grap
                   |                            |hics/krita/-/commit/8dc9714
                   |                            |4531e42055a2d31918c4674e30e
                   |                            |1a7026
             Status|ASSIGNED                    |RESOLVED

--- Comment #4 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit 8dc97144531e42055a2d31918c4674e30e1a7026 by Dmitry Kazakov.
Committed on 19/01/2024 at 09:19.
Pushed by dkazakov into branch 'master'.

Fix a crash when quickly undo/redo new-from-visible+visibility-change

This patch introduce multiple changes to fix the original bug:

1) KisSynchronizedConnection no longer behaves as if it were
an auto-connection. Instead, **all** signals are now linearized
via the qApp events queue. This fixes the reordering issue when two
actions are undone/redone too quickly and one action is a legacy
action that executes in the GUI thread (e.g. visibility change) and
the other action is a "processing" action that executes in a worker
thread (e.g. new-from-visible). "Auto"-style connection would reorder
the actions on the basis of their execution thread.

2) Unittests still explicitly activate the "auto"-style connection,
because they don't have KisApplication and the corresponding handler
for KisSynchronizedConnectionEvent.

3) Fixes a bug in KisDummiesFacadeBase that caused double addition
of the dummies on loading of the document. It could happen that
two setImage() calls were called in the GUI thread **before** the
addDummyImpl() had a chance to execute.

M  +14   -1    libs/global/KisSynchronizedConnection.cpp
M  +11   -0    libs/global/KisSynchronizedConnection.h
M  +1    -1    libs/store/tests/CMakeLists.txt
M  +10   -12   libs/ui/flake/kis_dummies_facade_base.cpp
M  +21   -11   plugins/dockers/animation/timeline_node_list_keeper.cpp
M  +1    -1    plugins/dockers/animation/timeline_node_list_keeper.h
M  +2    -0    sdk/tests/kistest.h
M  +2    -0    sdk/tests/simpletest.h

https://invent.kde.org/graphics/krita/-/commit/8dc97144531e42055a2d31918c4674e30e1a7026

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to