diff --git a/source/blender/nodes/geometry/nodes/node_geo_deform_curves_on_surface.cc b/source/blender/nodes/geometry/nodes/node_geo_deform_curves_on_surface.cc
index a9991a49ad7..60b5f0383ca 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_deform_curves_on_surface.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_deform_curves_on_surface.cc
@@ -229,7 +229,7 @@ static void node_geo_exec(GeoNodeExecParams params)
}
if (surface_ob_eval == nullptr || surface_ob_eval->type != OB_MESH) {
pass_through_input();
- params.error_message_add(NodeWarningType::Error, "The curves are not attached to a surface.");
+ params.error_message_add(NodeWarningType::Error, "Curves not attached to a surface.");
return;
}
Object *surface_ob_orig = DEG_get_original_object(surface_ob_eval);
@@ -246,7 +246,7 @@ static void node_geo_exec(GeoNodeExecParams params)
false);
if (surface_mesh_eval == nullptr) {
pass_through_input();
- params.error_message_add(NodeWarningType::Error, "The surface has no mesh.");
+ params.error_message_add(NodeWarningType::Error, "Surface has no mesh.");
return;
}
@@ -260,9 +260,15 @@ static void node_geo_exec(GeoNodeExecParams params)
Curves &curves_id = *curves_geometry.get_curves_for_write();
CurvesGeometry &curves = CurvesGeometry::wrap(curves_id.geometry);
+ if (uv_map_name.is_empty()) {
+ pass_through_input();
+ const char *message = TIP_("Surface UV map not defined.");
+ params.error_message_add(NodeWarningType::Error, message);
+ return;
+ }
if (!mesh_eval.attribute_exists(uv_map_name)) {
pass_through_input();
- char *message = BLI_sprintfN(TIP_("The evaluated surface does not have a uv map called '%s'."),
+ char *message = BLI_sprintfN(TIP_("Evaluated surface missing UV map: %s."),
uv_map_name.c_str());
params.error_message_add(NodeWarningType::Error, message);
MEM_freeN(message);
@@ -270,7 +276,7 @@ static void node_geo_exec(GeoNodeExecParams params)
}
if (!mesh_orig.attribute_exists(uv_map_name)) {
pass_through_input();
- char *message = BLI_sprintfN(TIP_("The original surface does not have a uv map called '%s'."),
+ char *message = BLI_sprintfN(TIP_("Original surface missing UV map: %s."),
uv_map_name.c_str());
params.error_message_add(NodeWarningType::Error, message);
MEM_freeN(message);
@@ -278,15 +284,14 @@ static void node_geo_exec(GeoNodeExecParams params)
}
if (!mesh_eval.attribute_exists(rest_position_name)) {
pass_through_input();
- params.error_message_add(
- NodeWarningType::Error,
- TIP_("The evaluated surface does not have the 'rest_position' attribute."));
+ params.error_message_add(NodeWarningType::Error,
+ TIP_("Evaluated surface missing attribute: rest_position."));
return;
}
if (curves.surface_uv_coords().is_empty()) {
pass_through_input();
params.error_message_add(NodeWarningType::Error,
- TIP_("The curves do not are not attached to any uv map."));
+ TIP_("Curves are not attached to any UV map."));
return;
}
const VArraySpan<float2> uv_map_orig = mesh_orig.attribute_get_for_read<float2>(
@@ -334,7 +339,7 @@ static void node_geo_exec(GeoNodeExecParams params)
curves.tag_positions_changed();
if (invalid_uv_count) {
- char *message = BLI_sprintfN(TIP_("Invalid surface attachment UVs on %d curves."),
+ char *message = BLI_sprintfN(TIP_("Invalid surface UVs on %d curves."),
invalid_uv_count.load());
params.error_message_add(NodeWarningType::Warning, message);
MEM_freeN(message);