From 5bd13b4982758a9cf50b92b3eed1901693a7883c Mon Sep 17 00:00:00 2001 From: Chengrui Zhu Date: Wed, 10 Jul 2024 16:40:36 +0800 Subject: [PATCH] Copy all keys of def_map when copying a mjCModel. Fixes #1798 --- src/user/user_model.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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