Summary: | Attempt to use move tool on selected region crashes Krita. | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | AE_2 |
Component: | Tools/Move | Assignee: | Dmitry Kazakov <dimula73> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | halla |
Priority: | NOR | Keywords: | regression |
Version: | 4.4.0 | ||
Target Milestone: | --- | ||
Platform: | Microsoft Windows | ||
OS: | Microsoft Windows | ||
Latest Commit: | https://invent.kde.org/graphics/krita/commit/5bd2b1ac3e877d6b38faf2a2415ee5adf294a206 | Version Fixed In: | |
Sentry Crash Report: |
Description
AE_2
2020-10-26 07:47:07 UTC
I can confirm that an assert happens: ASSERT (krita): "clonedData" in file /home/appimage/workspace/Krita_Release_Appimage_Build/krita/libs/image/kis_strokes_queue.cpp, line 333 Aborted I've asked Dmitry to take a look asap. As a temporary workaround I would recommend to disable View->Instant Preview Git commit 062aadf6104d9fb6a84d5a555a7378a551c14abe by Dmitry Kazakov. Committed on 27/10/2020 at 11:18. Pushed by dkazakov into branch 'krita/4.3'. Fix a crash when trying to use Move Selection Tool on a raster selection All the jobs of a stroke that supports Instant Preview must support createLodClone() call. M +1 -1 libs/ui/tool/KisAsyncronousStrokeUpdateHelper.h M +9 -0 libs/ui/tool/strokes/move_stroke_strategy.cpp M +3 -0 libs/ui/tool/strokes/move_stroke_strategy.h M +11 -0 plugins/tools/basictools/strokes/move_selection_stroke_strategy.cpp M +5 -0 plugins/tools/basictools/strokes/move_selection_stroke_strategy.h https://invent.kde.org/graphics/krita/commit/062aadf6104d9fb6a84d5a555a7378a551c14abe Git commit 62f487a6807f60d0a075deba4a052ebe0a565802 by Dmitry Kazakov. Committed on 27/10/2020 at 11:18. Pushed by dkazakov into branch 'krita/4.3'. Workaround a deadlock when painting on a vector selection with Instant Preview Instant Preview is based on running two consequent with different level of detail, but our vector selection don't support that. More than that, when starting a paint operation on a vector selection, it should be flattened into a pixel selection. Which means that in LoD mode the flattening will happen twice. Ideally, we should somehow make KisSelection survive flattening in two separate LoD strokes, but I'm not sure it is really worth the effort. The downsides of the patch are: 1) The first painting stroke on a selection based layer or mask with vector selection will always be executed without instant preview. It affects all mask, generator layers and filter layers. 2) The first applicaiton of a filter on such a layer will also be slow. CC:kimageshop@kde.org M +5 -0 libs/image/kis_base_node.cpp M +6 -0 libs/image/kis_base_node.h M +5 -0 libs/image/kis_mask.cc M +2 -0 libs/image/kis_mask.h M +5 -0 libs/image/kis_selection_based_layer.cpp M +2 -0 libs/image/kis_selection_based_layer.h M +1 -0 libs/ui/tool/strokes/freehand_stroke.cpp M +1 -0 libs/ui/tool/strokes/kis_filter_stroke_strategy.cpp https://invent.kde.org/graphics/krita/commit/62f487a6807f60d0a075deba4a052ebe0a565802 Git commit 5452eb122d0f530ab8c8208593b93550edba6f7f by Dmitry Kazakov. Committed on 27/10/2020 at 11:26. Pushed by dkazakov into branch 'krita/4.4.0'. Fix a crash when trying to use Move Selection Tool on a raster selection All the jobs of a stroke that supports Instant Preview must support createLodClone() call. M +1 -1 libs/ui/tool/KisAsyncronousStrokeUpdateHelper.h M +9 -0 libs/ui/tool/strokes/move_stroke_strategy.cpp M +3 -0 libs/ui/tool/strokes/move_stroke_strategy.h M +11 -0 plugins/tools/basictools/strokes/move_selection_stroke_strategy.cpp M +5 -0 plugins/tools/basictools/strokes/move_selection_stroke_strategy.h https://invent.kde.org/graphics/krita/commit/5452eb122d0f530ab8c8208593b93550edba6f7f Git commit 90a75b4ba8d57a8cdae6035d1b82619c2f4e30d5 by Dmitry Kazakov. Committed on 27/10/2020 at 11:26. Pushed by dkazakov into branch 'krita/4.4.0'. Workaround a deadlock when painting on a vector selection with Instant Preview Instant Preview is based on running two consequent with different level of detail, but our vector selection don't support that. More than that, when starting a paint operation on a vector selection, it should be flattened into a pixel selection. Which means that in LoD mode the flattening will happen twice. Ideally, we should somehow make KisSelection survive flattening in two separate LoD strokes, but I'm not sure it is really worth the effort. The downsides of the patch are: 1) The first painting stroke on a selection based layer or mask with vector selection will always be executed without instant preview. It affects all mask, generator layers and filter layers. 2) The first applicaiton of a filter on such a layer will also be slow. CC:kimageshop@kde.org M +5 -0 libs/image/kis_base_node.cpp M +6 -0 libs/image/kis_base_node.h M +5 -0 libs/image/kis_mask.cc M +2 -0 libs/image/kis_mask.h M +5 -0 libs/image/kis_selection_based_layer.cpp M +2 -0 libs/image/kis_selection_based_layer.h M +1 -0 libs/ui/tool/strokes/freehand_stroke.cpp M +1 -0 libs/ui/tool/strokes/kis_filter_stroke_strategy.cpp https://invent.kde.org/graphics/krita/commit/90a75b4ba8d57a8cdae6035d1b82619c2f4e30d5 Git commit fe6d1d6c4456e57b250aef70662a56d4b4cc2f16 by Dmitry Kazakov. Committed on 27/10/2020 at 11:27. Pushed by dkazakov into branch 'master'. Workaround a deadlock when painting on a vector selection with Instant Preview Instant Preview is based on running two consequent with different level of detail, but our vector selection don't support that. More than that, when starting a paint operation on a vector selection, it should be flattened into a pixel selection. Which means that in LoD mode the flattening will happen twice. Ideally, we should somehow make KisSelection survive flattening in two separate LoD strokes, but I'm not sure it is really worth the effort. The downsides of the patch are: 1) The first painting stroke on a selection based layer or mask with vector selection will always be executed without instant preview. It affects all mask, generator layers and filter layers. 2) The first applicaiton of a filter on such a layer will also be slow. CC:kimageshop@kde.org M +5 -0 libs/image/kis_base_node.cpp M +6 -0 libs/image/kis_base_node.h M +5 -0 libs/image/kis_mask.cc M +2 -0 libs/image/kis_mask.h M +5 -0 libs/image/kis_selection_based_layer.cpp M +2 -0 libs/image/kis_selection_based_layer.h M +1 -0 libs/ui/tool/strokes/freehand_stroke.cpp M +1 -0 libs/ui/tool/strokes/kis_filter_stroke_strategy.cpp https://invent.kde.org/graphics/krita/commit/fe6d1d6c4456e57b250aef70662a56d4b4cc2f16 Git commit 5bd2b1ac3e877d6b38faf2a2415ee5adf294a206 by Dmitry Kazakov. Committed on 27/10/2020 at 11:27. Pushed by dkazakov into branch 'master'. Fix a crash when trying to use Move Selection Tool on a raster selection All the jobs of a stroke that supports Instant Preview must support createLodClone() call. M +1 -1 libs/ui/tool/KisAsyncronousStrokeUpdateHelper.h M +9 -0 libs/ui/tool/strokes/move_stroke_strategy.cpp M +3 -0 libs/ui/tool/strokes/move_stroke_strategy.h M +11 -0 plugins/tools/basictools/strokes/move_selection_stroke_strategy.cpp M +5 -0 plugins/tools/basictools/strokes/move_selection_stroke_strategy.h https://invent.kde.org/graphics/krita/commit/5bd2b1ac3e877d6b38faf2a2415ee5adf294a206 |