diff --git a/packages/project-editor/flow/runtime/eez_runtime.wasm b/packages/project-editor/flow/runtime/eez_runtime.wasm index 2cf33165..d4e4a8a2 100644 Binary files a/packages/project-editor/flow/runtime/eez_runtime.wasm and b/packages/project-editor/flow/runtime/eez_runtime.wasm differ diff --git a/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.wasm b/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.wasm index cbd0b746..7e020db4 100644 Binary files a/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.wasm and b/packages/project-editor/flow/runtime/lvgl_runtime_v8.3.wasm differ diff --git a/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.wasm b/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.wasm index 8065e087..f903a471 100644 Binary files a/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.wasm and b/packages/project-editor/flow/runtime/lvgl_runtime_v9.0.wasm differ diff --git a/resources/eez-framework-amalgamation/eez-flow.cpp b/resources/eez-framework-amalgamation/eez-flow.cpp index cc9959c1..99991a4e 100644 --- a/resources/eez-framework-amalgamation/eez-flow.cpp +++ b/resources/eez-framework-amalgamation/eez-flow.cpp @@ -1,4 +1,4 @@ -/* Autogenerated on February 5, 2025 12:40:14 PM from eez-framework commit 29db91ae3f40d111c7c922009def4d25f2517209 */ +/* Autogenerated on February 7, 2025 12:03:01 PM from eez-framework commit 71b85305f6ed9cb46d8759b4ccb93d82534fd587 */ /* * eez-framework * @@ -6937,6 +6937,11 @@ void tick() { } } finishToDebuggerMessageHook(); + for (FlowState *flowState = g_firstFlowState; flowState; flowState = flowState->nextSibling) { + if (flowState->deleteOnNextTick) { + freeFlowState(flowState); + } + } } void stop() { g_isStopping = true; @@ -6982,9 +6987,11 @@ FlowState *getPageFlowState(Assets *assets, int16_t pageIndex, const WidgetCurso break; } } - if (!flowState) { + if (flowState) { + flowState->deleteOnNextTick = false; + } else { flowState = initPageFlowState(assets, pageIndex, nullptr, 0); - } + } return flowState; } } @@ -7004,7 +7011,9 @@ FlowState *getPageFlowState(Assets *assets, int16_t pageIndex) { break; } } - if (!flowState) { + if (flowState) { + flowState->deleteOnNextTick = false; + } else { flowState = initPageFlowState(assets, pageIndex, nullptr, 0); } return flowState; @@ -7014,10 +7023,9 @@ int getPageIndex(FlowState *flowState) { return flowState->flowIndex; } void deletePageFlowState(Assets *assets, int16_t pageIndex) { - FlowState *flowState; - for (flowState = g_firstFlowState; flowState; flowState = flowState->nextSibling) { + for (FlowState *flowState = g_firstFlowState; flowState; flowState = flowState->nextSibling) { if (flowState->flowIndex == pageIndex) { - freeFlowState(flowState); + flowState->deleteOnNextTick = true; return; } } @@ -10235,6 +10243,7 @@ static FlowState *initFlowState(Assets *assets, int flowIndex, FlowState *parent flowState->flow = flowDefinition->flows[flowIndex]; flowState->flowIndex = flowIndex; flowState->error = false; + flowState->deleteOnNextTick = false; flowState->refCounter = 0; flowState->parentFlowState = parentFlowState; flowState->executingComponentIndex = NO_COMPONENT_INDEX; diff --git a/resources/eez-framework-amalgamation/eez-flow.h b/resources/eez-framework-amalgamation/eez-flow.h index 785f216c..e8dbaaa9 100644 --- a/resources/eez-framework-amalgamation/eez-flow.h +++ b/resources/eez-framework-amalgamation/eez-flow.h @@ -1,4 +1,4 @@ -/* Autogenerated on February 5, 2025 12:40:14 PM from eez-framework commit 29db91ae3f40d111c7c922009def4d25f2517209 */ +/* Autogenerated on February 7, 2025 12:03:01 PM from eez-framework commit 71b85305f6ed9cb46d8759b4ccb93d82534fd587 */ /* * eez-framework * @@ -2311,6 +2311,7 @@ struct FlowState { uint16_t flowIndex; bool isAction; bool error; + bool deleteOnNextTick; uint32_t refCounter; FlowState *parentFlowState; Component *parentComponent; diff --git a/wasm/eez-framework b/wasm/eez-framework index 71b85305..132f81a7 160000 --- a/wasm/eez-framework +++ b/wasm/eez-framework @@ -1 +1 @@ -Subproject commit 71b85305f6ed9cb46d8759b4ccb93d82534fd587 +Subproject commit 132f81a798f6fd381474503b67bafc90f478cafe