Bug 396470 - "convert to vector selection" is broken
Summary: "convert to vector selection" is broken
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (other bugs)
Version First Reported In: 4.1.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-07-13 11:14 UTC by animtim
Modified: 2018-08-17 08:33 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description animtim 2018-07-13 11:14:08 UTC
"convert to vector selection" is broken:

-Before, when using this action, a selection with partly-selected pixels would become all 100% selected, which is very convenient for lots of operations
(example: use Contiguous selection tool to select an area with color variations, and then user wants this selected area to be all fully selected to can fully erase it or fill it in one action: "convert to vector selection" is the only action to do this.)

-Now, "convert to vector selection" seems to have no effect.

And then only workaround to achieve what I explained in example above is to first convert to selection to shape, and then convert to shape to vector selection.. which requires lots of user actions, not easy nor convenient...
Comment 1 Dmitry Kazakov 2018-08-17 08:33:41 UTC
Git commit 4b9d4aaa3ef36e8a2184bdddb22692f139c250ac by Dmitry Kazakov.
Committed on 17/08/2018 at 07:59.
Pushed by dkazakov into branch 'master'.

Fix conversion of Pixel Selection into Vector Selection

The patch also fixed a lot of minor issues related to the new
selection overlay functionality when working with vector selections.
Ideally, we should port our KisShapeSelection object to the
full-featured KisShapeLayerCanvas, so that updates would be
done correctly and in real-time. Right now the projection updates
are connected to KisUpdateSelectionJob that is issues once in 300
milliseconds.

M  +1    -0    libs/image/CMakeLists.txt
A  +70   -0    libs/image/KisLazyStorage.h     [License: UNKNOWN]  *
A  +61   -0    libs/image/KisSelectionUpdateCompressor.cpp     [License: GPL (v2+)]
A  +49   -0    libs/image/KisSelectionUpdateCompressor.h     [License: GPL (v2+)]
M  +14   -0    libs/image/kis_layer_utils.cpp
M  +2    -0    libs/image/kis_layer_utils.h
M  +6    -1    libs/image/kis_mask.cc
M  +6    -0    libs/image/kis_mask.h
M  +6    -1    libs/image/kis_projection_leaf.cpp
M  +1    -0    libs/image/kis_projection_leaf.h
M  +20   -4    libs/image/kis_selection.cc
M  +9    -0    libs/image/kis_selection.h
M  +6    -0    libs/image/kis_selection_mask.cpp
M  +11   -7    libs/image/kis_selection_mask.h
M  +19   -0    libs/image/kis_update_selection_job.cpp
M  +12   -3    libs/ui/actions/kis_selection_action_factories.cpp
M  +26   -16   libs/ui/canvas/kis_canvas2.cpp
M  +7    -0    libs/ui/canvas/kis_canvas2.h
M  +1    -15   libs/ui/flake/kis_shape_selection_model.cpp
M  +0    -4    libs/ui/flake/kis_shape_selection_model.h
M  +5    -2    plugins/tools/defaulttool/defaulttool/DefaultTool.cpp
M  +9    -2    plugins/tools/defaulttool/defaulttool/ShapeRotateStrategy.cpp

The files marked with a * at the end have a non valid license. Please read: https://community.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.


https://commits.kde.org/krita/4b9d4aaa3ef36e8a2184bdddb22692f139c250ac