Fixed objects disappearing after deselecting

This commit is contained in:
Yousef Khadadeh 2025-08-05 19:54:53 +03:00
parent d482d6731a
commit 7ffa039061
2 changed files with 2 additions and 2 deletions

View file

@ -339,7 +339,7 @@ void DrawingProgram::force_rebuild_cache() {
EraserTool* eraserTool = static_cast<EraserTool*>(drawTool.get());
compCache.test_rebuild_dont_include_set_dont_include_nodes(components.client_list(), eraserTool->erasedComponents, eraserTool->erasedBVHNodes, true);
}
else if(drawTool->get_type() == DrawingProgramToolType::RECTSELECT)
else if(drawTool->get_type() == DrawingProgramToolType::RECTSELECT || drawTool->get_type() == DrawingProgramToolType::LASSOSELECT)
compCache.test_rebuild_dont_include_set(components.client_list(), selection.get_selected_set(), true);
else
compCache.test_rebuild(components.client_list(), true);

View file

@ -127,7 +127,7 @@ void DrawingProgramSelection::deselect_all() {
if(is_something_selected()) {
bool cacheWillRebuildAnyway = selectedSet.size() >= DrawingProgramCache::MINIMUM_COMPONENTS_TO_START_REBUILD;
if(cacheWillRebuildAnyway)
drawP.force_rebuild_cache();
drawP.compCache.test_rebuild(drawP.components.client_list(), true);
else {
for(auto& obj : selectedSet)
drawP.compCache.add_component(obj);