mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-07-18 00:12:09 +00:00
refactor: collapse speed-dial action source abstraction
Only one action source ever existed, so the IActionSource interface and ScriptActionSource are gone. ActionRegistry now subscribes to the plugin loader and enumerates actions directly in init() - no polymorphism for one impl. Replace the opaque FNV-hash SpeedDialActionId with a readable composed id of the form prefix:title:source_key. Split AppAction's single source field into source_key (stable identity, e.g. plugin_key) and source_name (display), so identity and display no longer share one field.
This commit is contained in:
@@ -270,7 +270,7 @@ private:
|
||||
// why: value-capture only. Script execution may outlive this popup if the app is closing.
|
||||
wxGetApp().CallAfter([id] {
|
||||
// why: the queue may drain during shutdown, after MainFrame/Plater teardown;
|
||||
// skip like the ScriptActionSource callbacks do instead of running into it.
|
||||
// skip like the registry's loader callbacks do instead of running into it.
|
||||
if (wxGetApp().is_closing())
|
||||
return;
|
||||
AppActionRunResult o = wxGetApp().action_registry().run(id);
|
||||
|
||||
Reference in New Issue
Block a user