diff --git a/src/user/user_model.cc b/src/user/user_model.cc index 7ad003ed..9b96b37f 100644 --- a/src/user/user_model.cc +++ b/src/user/user_model.cc @@ -150,7 +150,10 @@ mjCModel& mjCModel::operator=(const mjCModel& other) { // create new default tree mjCDef* subtree = new mjCDef(*other.defaults_[0]); *this += *subtree; - def_map["main"] = Default(); + for (const auto& [name, def] : other.def_map) { + std::size_t index = std::find(other.defaults_.begin(), other.defaults_.end(), def) - other.defaults_.begin(); + def_map[name] = defaults_[index]; + } // copy name maps for (int i=0; i