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

--- Comment #4 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit b4951fc120f711e0d067784d25497f681dcd96ca by Dmitry Kazakov.
Committed on 05/02/2020 at 17:08.
Pushed by dkazakov into branch 'master'.

Fix threading issue in KisShapeLayer::transform()

The transformation itself should happen in the GUI thread, not in the
worker thread. Therefore we should use Qt::BlockingQueuedConnection.
It is not entirely safe (it can theoretically cause deadlocks), but it
is the only way how we can resolve the issue with keeping GUI thread the
only writer to the shapes.

The patch also fixes the problem in KisShapeLayerCanvas::forceRepaint() and
KisShapeLayerCanvas::forceRepaintWithHiddenAreas(), which should also
initiate the update in the GUI thread, not in the worker thread.

M  +44   -36   libs/ui/flake/kis_shape_layer.cc
M  +9    -0    libs/ui/flake/kis_shape_layer.h
M  +5    -4    libs/ui/flake/kis_shape_layer_canvas.cpp
M  +1    -1    libs/ui/flake/kis_shape_layer_canvas.h

https://invent.kde.org/kde/krita/commit/b4951fc120f711e0d067784d25497f681dcd96ca

--- Comment #5 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit 57e68a90f578f97f91b1344bf92c9ff43206bd12 by Dmitry Kazakov.
Committed on 05/02/2020 at 17:08.
Pushed by dkazakov into branch 'master'.

Fix rendering of Transform Tool for Shape Layers in continued stroke

When forcing the hidden areas update we should also update the areas
that were requested explicitly. Otherwise dirty areas of the projection
will not be updated.

M  +1    -1    libs/ui/flake/kis_shape_layer_canvas.cpp

https://invent.kde.org/kde/krita/commit/57e68a90f578f97f91b1344bf92c9ff43206bd12

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

Reply via email to