diff --git a/sdk/load-and-run/src/mgblar.cpp b/sdk/load-and-run/src/mgblar.cpp index 5352470d..7d2b2932 100644 --- a/sdk/load-and-run/src/mgblar.cpp +++ b/sdk/load-and-run/src/mgblar.cpp @@ -194,9 +194,7 @@ R"__usage__( struct DataParser { struct Brace { - Brace() { parent = nullptr; } - - std::shared_ptr parent; + std::weak_ptr parent; std::vector> chidren; }; @@ -397,7 +395,7 @@ private: cur->chidren.emplace_back(child); cur = child; } else if (c == ']') { - cur = cur->parent; + cur = cur->parent.lock(); } else if (c == ',') { number_cnt++; }