[Bf-blender-cvs] [ca99a59605e] master: Fix T104261: crash when trying to draw viewer overlay for empty curve
Jacques Lucke
noreply at git.blender.org
Thu Feb 2 17:21:11 CET 2023
Commit: ca99a59605e52e6b4ec759523b1403b2b7e33ee7
Author: Jacques Lucke
Date: Thu Feb 2 17:20:57 2023 +0100
Branches: master
https://developer.blender.org/rBca99a59605e52e6b4ec759523b1403b2b7e33ee7
Fix T104261: crash when trying to draw viewer overlay for empty curve
`BKE_displist_make_curveTypes` only sets `curve_eval` if the final geometry
of the object actually contains curve data, otherwise it's null.
===================================================================
M source/blender/draw/engines/overlay/overlay_viewer_attribute.cc
===================================================================
diff --git a/source/blender/draw/engines/overlay/overlay_viewer_attribute.cc b/source/blender/draw/engines/overlay/overlay_viewer_attribute.cc
index 69ff877c1e5..fe20fb135c5 100644
--- a/source/blender/draw/engines/overlay/overlay_viewer_attribute.cc
+++ b/source/blender/draw/engines/overlay/overlay_viewer_attribute.cc
@@ -131,11 +131,13 @@ static void populate_cache_for_geometry(Object &object,
}
case OB_CURVES_LEGACY: {
Curve *curve = static_cast<Curve *>(object.data);
- const bke::CurvesGeometry &curves = curve->curve_eval->geometry.wrap();
- if (curves.attributes().contains(".viewer")) {
- GPUBatch *batch = DRW_cache_curve_edge_wire_viewer_attribute_get(&object);
- DRW_shgroup_uniform_float_copy(pd.viewer_attribute_curve_grp, "opacity", opacity);
- DRW_shgroup_call_obmat(pd.viewer_attribute_curve_grp, batch, object.object_to_world);
+ if (curve->curve_eval) {
+ const bke::CurvesGeometry &curves = curve->curve_eval->geometry.wrap();
+ if (curves.attributes().contains(".viewer")) {
+ GPUBatch *batch = DRW_cache_curve_edge_wire_viewer_attribute_get(&object);
+ DRW_shgroup_uniform_float_copy(pd.viewer_attribute_curve_grp, "opacity", opacity);
+ DRW_shgroup_call_obmat(pd.viewer_attribute_curve_grp, batch, object.object_to_world);
+ }
}
break;
}
More information about the Bf-blender-cvs
mailing list