From 6e7d2b582ef74072174b3b091bc574af3030b3f1 Mon Sep 17 00:00:00 2001 From: forbes Date: Sat, 21 Feb 2026 07:08:59 -0600 Subject: [PATCH] fix(assembly): move resetSolver() out-of-line to fix incomplete type error unique_ptr::reset() requires the complete type for its deleter, but IKCSolver is only forward-declared in AssemblyObject.h. Move the definition to AssemblyObject.cpp where the full header is included. --- src/Mod/Assembly/App/AssemblyObject.cpp | 5 +++++ src/Mod/Assembly/App/AssemblyObject.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Mod/Assembly/App/AssemblyObject.cpp b/src/Mod/Assembly/App/AssemblyObject.cpp index 26ff5ec4af..41f57ce4a4 100644 --- a/src/Mod/Assembly/App/AssemblyObject.cpp +++ b/src/Mod/Assembly/App/AssemblyObject.cpp @@ -144,6 +144,11 @@ void AssemblyObject::onChanged(const App::Property* prop) // ── Solver integration ───────────────────────────────────────────── +void AssemblyObject::resetSolver() +{ + solver_.reset(); +} + KCSolve::IKCSolver* AssemblyObject::getOrCreateSolver() { if (!solver_) { diff --git a/src/Mod/Assembly/App/AssemblyObject.h b/src/Mod/Assembly/App/AssemblyObject.h index 6355040f5c..f322c525f4 100644 --- a/src/Mod/Assembly/App/AssemblyObject.h +++ b/src/Mod/Assembly/App/AssemblyObject.h @@ -98,7 +98,7 @@ public: void postDrag(); void savePlacementsForUndo(); void undoSolve(); - void resetSolver() { solver_.reset(); } + void resetSolver(); void clearUndo(); void exportAsASMT(std::string fileName); -- 2.49.1