diff --git a/src/DrawingProgram/DrawingProgram.cpp b/src/DrawingProgram/DrawingProgram.cpp index 079d5fc..a71abf8 100644 --- a/src/DrawingProgram/DrawingProgram.cpp +++ b/src/DrawingProgram/DrawingProgram.cpp @@ -339,7 +339,7 @@ void DrawingProgram::force_rebuild_cache() { EraserTool* eraserTool = static_cast(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); diff --git a/src/DrawingProgram/DrawingProgramSelection.cpp b/src/DrawingProgram/DrawingProgramSelection.cpp index 4fb9db1..b87e1cd 100644 --- a/src/DrawingProgram/DrawingProgramSelection.cpp +++ b/src/DrawingProgram/DrawingProgramSelection.cpp @@ -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);