mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-26 18:31:11 +00:00
fix: resolve plugins that are missing locally (physical file deleted) (#14861)
* fix: resolve plugins that are missing locally (physical file deleted) * fix: don't treat file not found as an error
This commit is contained in:
@@ -132,6 +132,11 @@ public:
|
||||
bool try_get_plugin_descriptor(const std::string& plugin_key, PluginDescriptor& out) const;
|
||||
// Same, but only for packages that are loadable (i.e. not an invalid package).
|
||||
bool try_get_valid_plugin_descriptor(const std::string& plugin_key, PluginDescriptor& out) const;
|
||||
// Packages that were present in the previous discovery pass but were not found on disk in the
|
||||
// latest rescan. They are retained until the user explicitly removes them or a later scan finds
|
||||
// them again.
|
||||
std::vector<PluginDescriptor> get_missing_plugin_descriptors() const;
|
||||
void remove_missing_plugins(const std::vector<std::string>& plugin_keys);
|
||||
// Packages whose .install_state.json marks them for auto-load.
|
||||
std::vector<std::string> get_enabled_plugin_keys() const;
|
||||
// The package owning a loaded capability, for the by-name dispatch path.
|
||||
@@ -262,6 +267,7 @@ private:
|
||||
|
||||
// Every discovered plugin, loaded or not. module == nullptr => not loaded.
|
||||
std::vector<Plugin> m_plugins;
|
||||
std::unordered_set<std::string> m_missing_plugin_keys;
|
||||
|
||||
std::unordered_set<std::string> m_load_in_progress;
|
||||
// Keys whose in-flight load has been cancelled. Cancellation does NOT remove the key from
|
||||
|
||||
Reference in New Issue
Block a user