From bd2f93a6b4c356291c08832452826bb0d9fab922 Mon Sep 17 00:00:00 2001 From: Yousef Khadadeh Date: Sun, 11 Jan 2026 09:10:07 +0300 Subject: [PATCH] Added cache clear when layer folders are modified --- src/DrawingProgram/Layers/DrawingProgramLayerFolder.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/DrawingProgram/Layers/DrawingProgramLayerFolder.cpp b/src/DrawingProgram/Layers/DrawingProgramLayerFolder.cpp index 0dde772..93e1959 100644 --- a/src/DrawingProgram/Layers/DrawingProgramLayerFolder.cpp +++ b/src/DrawingProgram/Layers/DrawingProgramLayerFolder.cpp @@ -13,11 +13,16 @@ void DrawingProgramLayerFolder::draw(SkCanvas* canvas, const DrawData& drawData) void DrawingProgramLayerFolder::set_component_list_callbacks(DrawingProgramLayerManager& layerMan) { folderList->set_insert_callback([&](auto& c) { + layerMan.drawP.drawCache.clear_own_cached_surfaces(); c->obj->set_component_list_callbacks(layerMan); }); folderList->set_erase_callback([&](auto& c) { + layerMan.drawP.drawCache.clear_own_cached_surfaces(); c->obj->set_to_erase(); }); + folderList->set_move_callback([&](auto& c, uint32_t oldPos) { + layerMan.drawP.drawCache.clear_own_cached_surfaces(); + }); for(auto& listItem : *folderList) listItem.obj->set_component_list_callbacks(layerMan); }