WebGuide's Filament Dialog Fix to ensure filaments inheritance chain is checked properly (#15855)

* fix: resolve filament vendor/type across split base presets

WebGuide's filament list dropped presets whose vendor and type came from different ancestors, and looped forever on inherits cycles. Walk the full inherits chain with a path-scoped guard, fill only missing values, and skip presets that still lack vendor or type. Add tests for split-base resolution and validate the real profile tree.

* Merge branch 'main' into feat/filament_dialog_fix

* Fixes unit test

* Merge branch 'main' into feat/filament_dialog_fix

* Merge branch 'main' into feat/filament_dialog_fix

* revert tests/fff_print/test_gcodewriter.cpp changes
This commit is contained in:
Lam Wei Lun
2026-09-23 20:23:52 +08:00
committed by GitHub
parent a8f1061a02
commit fcd8131998
3 changed files with 85 additions and 31 deletions
+4
View File
@@ -33,6 +33,7 @@
#include <atomic>
#include <memory>
#include <unordered_map>
#include <unordered_set>
#include <nlohmann/json.hpp>
@@ -110,6 +111,9 @@ public:
void on_dpi_changed(const wxRect &suggested_rect) {}
private:
int GetFilamentInfo(const std::string& VendorDirectory, json& pFilaList, const std::string& filepath,
std::string& sVendor, std::string& sType, std::unordered_set<std::string>& visiting);
GUI_App *m_MainPtr;
AppConfig m_appconfig_new;