[Bf-blender-cvs] [5a5788ace2d] blender-v2.93-release: Fix T92246: sculpt crash displaying statistics in certain situations

Philipp Oeser noreply at git.blender.org
Tue Nov 2 13:52:40 CET 2021


Commit: 5a5788ace2d2a27eae72eb94389040928342fb0e
Author: Philipp Oeser
Date:   Mon Oct 18 11:03:47 2021 +0200
Branches: blender-v2.93-release
https://developer.blender.org/rB5a5788ace2d2a27eae72eb94389040928342fb0e

Fix T92246: sculpt crash displaying statistics in certain situations

It seems possible to switch object selection (if `Lock Object Modes` is
turned off) and end up with an object that has a SculptSession but a
NULL PBVH.
(I was not able to repro from scratch, but file from the report was
clearly in that state).

This would crash in displaying scene statistics.

While there might be a deeper fix (making sure PBVH is available early
enough -- possibly using `BKE_sculpt_object_pbvh_ensure`,
`sculpt_update_object` or friends), there are also many checks in tools
for PBVH, so the situation seems to be somewhat vaild/expected also in
other places.
So to fix this, just check for a non-NULL PBVH, returning early
otherwise.
Note: this leaves us with displaying 0/0 Faces & Vertices in the borked
case until an operation takes place that updates the PBVH.

Maniphest Tasks: T92246

Differential Revision: https://developer.blender.org/D12904

===================================================================

M	source/blender/editors/space_info/info_stats.c

===================================================================

diff --git a/source/blender/editors/space_info/info_stats.c b/source/blender/editors/space_info/info_stats.c
index ffac5c982d6..5a20abdde93 100644
--- a/source/blender/editors/space_info/info_stats.c
+++ b/source/blender/editors/space_info/info_stats.c
@@ -365,7 +365,7 @@ static void stats_object_sculpt(Object *ob, SceneStats *stats)
 
   SculptSession *ss = ob->sculpt;
 
-  if (!ss) {
+  if (ss == NULL || ss->pbvh == NULL) {
     return;
   }



More information about the Bf-blender-cvs mailing list