Fixed multiple segfault bugs

This commit is contained in:
Yousef Khadadeh 2025-12-30 21:18:59 +03:00
parent fda8fcc166
commit caf99a8675
7 changed files with 41 additions and 11 deletions

View file

@ -8,14 +8,22 @@ void DrawingProgramLayerFolder::draw(SkCanvas* canvas, const DrawData& drawData)
p.obj->draw(canvas, drawData);
}
void DrawingProgramLayerFolder::set_component_list_callbacks(DrawingProgramLayerManager& layerMan) const {
void DrawingProgramLayerFolder::set_component_list_callbacks(DrawingProgramLayerManager& layerMan) {
folderList->set_insert_callback([&](auto& c) {
c->obj->set_component_list_callbacks(layerMan);
});
folderList->set_erase_callback([&](auto& c) {
c->obj->set_to_erase();
});
for(auto& listItem : *folderList)
listItem.obj->set_component_list_callbacks(layerMan);
}
void DrawingProgramLayerFolder::set_to_erase() {
for(auto& listItem : *folderList)
listItem.obj->set_to_erase();
}
void DrawingProgramLayerFolder::commit_update_dont_invalidate_cache(DrawingProgramLayerManager& layerMan) const {
for(auto& listItem : *folderList)
listItem.obj->commit_update_dont_invalidate_cache(layerMan);