@@ -24,7 +24,6 @@ const std::string& GElement::getSession() const {
2424/* ******* protected ********/
2525GElement::GElement () {
2626 this ->session_ = CGRAPH_GENERATE_SESSION ();
27- aspect_manager_ = CGRAPH_SAFE_MALLOC_COBJECT (GAspectManager);
2827}
2928
3029
@@ -43,9 +42,12 @@ GElement::GElement(const GElement& element) {
4342 this ->session_ = element.session_ ;
4443 this ->loop_ = element.loop_ ;
4544 this ->name_ = element.name_ ;
46- this ->aspect_manager_ = CGRAPH_SAFE_MALLOC_COBJECT (GAspectManager);
47- this ->aspect_manager_ ->aspect_arr_ = element.aspect_manager_ ->aspect_arr_ ;
48- this ->aspect_manager_ ->setName (element.aspect_manager_ ->getName ());
45+
46+ if (element.aspect_manager_ ) {
47+ this ->aspect_manager_ = CGRAPH_SAFE_MALLOC_COBJECT (GAspectManager);
48+ this ->aspect_manager_ ->aspect_arr_ = element.aspect_manager_ ->aspect_arr_ ;
49+ this ->aspect_manager_ ->setName (element.aspect_manager_ ->getName ());
50+ }
4951}
5052
5153
@@ -63,9 +65,12 @@ GElement& GElement::operator=(const GElement& element) {
6365 this ->session_ = element.session_ ;
6466 this ->loop_ = element.loop_ ;
6567 this ->name_ = element.name_ ;
66- this ->aspect_manager_ = CGRAPH_SAFE_MALLOC_COBJECT (GAspectManager);
67- this ->aspect_manager_ ->aspect_arr_ = element.aspect_manager_ ->aspect_arr_ ;
68- this ->aspect_manager_ ->setName (element.aspect_manager_ ->getName ());
68+
69+ if (element.aspect_manager_ ) {
70+ this ->aspect_manager_ = CGRAPH_SAFE_MALLOC_COBJECT (GAspectManager);
71+ this ->aspect_manager_ ->aspect_arr_ = element.aspect_manager_ ->aspect_arr_ ;
72+ this ->aspect_manager_ ->setName (element.aspect_manager_ ->getName ());
73+ }
6974
7075 return *this ;
7176}
@@ -150,12 +155,13 @@ CSTATUS GElement::setElementInfo(const GElementPtrSet& dependElements,
150155 GParamManagerPtr paramManager) {
151156 CGRAPH_FUNCTION_BEGIN
152157 CGRAPH_ASSERT_INIT (false )
153- CGRAPH_ASSERT_NOT_NULL (aspect_manager_)
154158
155159 this ->setName (name);
156160 this ->setLoop (loop);
157161 param_manager_ = paramManager;
158- aspect_manager_->setName (name);
162+ if (aspect_manager_) {
163+ aspect_manager_->setName (name);
164+ }
159165 status = this ->addDependElements (dependElements);
160166 CGRAPH_FUNCTION_END
161167}
0 commit comments