mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-21 21:58:03 -06:00
ObjectList: Fixed a bug related to an update of selection in 3DScene.
Steps to repro: 1. Create some object with several parts. 2. Increase instances count. 3. Select some volume in ObjectList => all related volumes for each instance are selected in 3DScene (CORRECT) 4. Select last instance in ObjectList => all volumes (except one) of selected instance are selected in 3DScene (UNCORRECT). ALL volumes of selected instance have to be selected in 3DScene Fix: To avoid lost of some volumes in selection check non-selected volumes only if 3DScene-selection mode wasn't changed or there is no single selection in ObjectList
This commit is contained in:
parent
3e0b7910ea
commit
9c5c9a0e78
1 changed files with 5 additions and 1 deletions
|
@ -3465,7 +3465,11 @@ void ObjectList::update_selections_on_canvas()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// add
|
// add
|
||||||
volume_idxs = selection.get_unselected_volume_idxs_from(volume_idxs);
|
// to avoid lost of some volumes in selection
|
||||||
|
// check non-selected volumes only if selection mode wasn't changed
|
||||||
|
// OR there is no single selection
|
||||||
|
if (selection.get_mode() == mode || !single_selection)
|
||||||
|
volume_idxs = selection.get_unselected_volume_idxs_from(volume_idxs);
|
||||||
Plater::TakeSnapshot snapshot(wxGetApp().plater(), _(L("Selection-Add from list")));
|
Plater::TakeSnapshot snapshot(wxGetApp().plater(), _(L("Selection-Add from list")));
|
||||||
selection.add_volumes(mode, volume_idxs, single_selection);
|
selection.add_volumes(mode, volume_idxs, single_selection);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue