diff --git a/lib/remote/configobjectutility.cpp b/lib/remote/configobjectutility.cpp index 5668c3ac5..da090825c 100644 --- a/lib/remote/configobjectutility.cpp +++ b/lib/remote/configobjectutility.cpp @@ -175,9 +175,12 @@ bool ConfigObjectUtility::DeleteObjectHelper(const ConfigObject::Ptr& object, bo { std::vector parents = DependencyGraph::GetParents(object); + Type::Ptr type = object->GetReflectionType(); + if (!parents.empty() && !cascade) { if (errors) - errors->Add("Object cannot be deleted because other objects depend on it. " + errors->Add("Object '" + object->GetName() + "' of type '" + type->GetName() + + "' cannot be deleted because other objects depend on it. " "Use cascading delete to delete it anyway."); return false; @@ -192,8 +195,6 @@ bool ConfigObjectUtility::DeleteObjectHelper(const ConfigObject::Ptr& object, bo DeleteObjectHelper(parentObj, cascade, errors); } - Type::Ptr type = object->GetReflectionType(); - ConfigItem::Ptr item = ConfigItem::GetByTypeAndName(type->GetName(), object->GetName()); try {