refactor: replace raw object pointers with SmartPointer in ObjectsContext and update dependent codebases

This commit is contained in:
AndreaRigoni
2026-04-17 13:28:24 +00:00
parent 506b8f037f
commit 390fc44043
8 changed files with 57 additions and 41 deletions

View File

@@ -38,8 +38,8 @@ void ContextModel::setContext(uLib::ObjectsContext* context) {
});
// Connect existing objects
for (auto* obj : m_rootContext->GetObjects()) {
uLib::Object::connect(obj, &uLib::Object::Updated, refresh);
for (const auto& obj : m_rootContext->GetObjects()) {
uLib::Object::connect(obj.get(), &uLib::Object::Updated, refresh);
}
}
endResetModel();
@@ -229,8 +229,8 @@ bool ContextModel::dropMimeData(const QMimeData* data, Qt::DropAction action, in
[&findAndRemoveRecursive](uLib::Object* current, uLib::Object* target) {
if (auto ctx = current->GetChildren()) {
ctx->RemoveObject(target);
for (auto* obj : ctx->GetObjects()) {
findAndRemoveRecursive(obj, target);
for (const auto& obj : ctx->GetObjects()) {
findAndRemoveRecursive(obj.get(), target);
}
}
};
@@ -244,12 +244,12 @@ bool ContextModel::dropMimeData(const QMimeData* data, Qt::DropAction action, in
// check if targetCtx is descendant of obj
std::function<bool(uLib::Object*, uLib::Object*)> isDescendant =
[&isDescendant](uLib::Object* root, uLib::Object* target) -> bool {
if (auto ctx = root->GetChildren()) {
for (auto* child : ctx->GetObjects()) {
if (child == target) return true;
if (isDescendant(child, target)) return true;
}
}
if (auto ctx = root->GetChildren()) {
for (const auto& child : ctx->GetObjects()) {
if (child.get() == target) return true;
if (isDescendant(child.get(), target)) return true;
}
}
return false;
};
if (isDescendant(obj, (uLib::Object*)targetCtx)) invalid = true;