From ee28766856f17cb1e02d2df32553116b46f04afb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 2 Oct 2025 20:36:06 +0000 Subject: [PATCH 1/3] Initial plan From ff02a4210326b9dbcc9e88815b73e72431cfa707 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 2 Oct 2025 20:41:29 +0000 Subject: [PATCH 2/3] Initial analysis complete - plan to fix SetProperty assertion Co-authored-by: adriengivry <33324216+adriengivry@users.noreply.github.com> --- Scripts/GenerateProjects.bat | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 Scripts/GenerateProjects.bat diff --git a/Scripts/GenerateProjects.bat b/Scripts/GenerateProjects.bat old mode 100644 new mode 100755 From 5cf040ddea215f872659974c993805143df8fde9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 2 Oct 2025 20:43:44 +0000 Subject: [PATCH 3/3] Use TrySetProperty instead of SetProperty in material deserialization Co-authored-by: adriengivry <33324216+adriengivry@users.noreply.github.com> --- .../OvCore/src/OvCore/Resources/Material.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Sources/Overload/OvCore/src/OvCore/Resources/Material.cpp b/Sources/Overload/OvCore/src/OvCore/Resources/Material.cpp index 270ea112f..66564cf29 100644 --- a/Sources/Overload/OvCore/src/OvCore/Resources/Material.cpp +++ b/Sources/Overload/OvCore/src/OvCore/Resources/Material.cpp @@ -180,31 +180,31 @@ void OvCore::Resources::Material::OnDeserialize(tinyxml2::XMLDocument& p_doc, ti if constexpr (std::same_as) { - SetProperty(propName, Serializer::DeserializeBoolean(p_doc, uniform, "value")); + TrySetProperty(propName, Serializer::DeserializeBoolean(p_doc, uniform, "value")); } else if constexpr (std::same_as) { - SetProperty(propName, Serializer::DeserializeInt(p_doc, uniform, "value")); + TrySetProperty(propName, Serializer::DeserializeInt(p_doc, uniform, "value")); } else if constexpr (std::same_as) { - SetProperty(propName, Serializer::DeserializeFloat(p_doc, uniform, "value")); + TrySetProperty(propName, Serializer::DeserializeFloat(p_doc, uniform, "value")); } else if constexpr (std::same_as) { - SetProperty(propName, Serializer::DeserializeVec2(p_doc, uniform, "value")); + TrySetProperty(propName, Serializer::DeserializeVec2(p_doc, uniform, "value")); } else if constexpr (std::same_as) { - SetProperty(propName, Serializer::DeserializeVec3(p_doc, uniform, "value")); + TrySetProperty(propName, Serializer::DeserializeVec3(p_doc, uniform, "value")); } else if constexpr (std::same_as) { - SetProperty(propName, Serializer::DeserializeVec4(p_doc, uniform, "value")); + TrySetProperty(propName, Serializer::DeserializeVec4(p_doc, uniform, "value")); } else if constexpr (std::same_as) { - SetProperty(propName, Serializer::DeserializeTexture(p_doc, uniform, "value")); + TrySetProperty(propName, Serializer::DeserializeTexture(p_doc, uniform, "value")); } // No need to handle TextureHandle* here as it's not serializable (only texture assets are) };