mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-20 11:53:48 +00: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:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user