[Bf-blender-cvs] [44239fa1063] blender-v3.0-release: Fix: Crash with no active object after recent commit

Hans Goudey noreply at git.blender.org
Tue Nov 9 19:59:34 CET 2021


Commit: 44239fa106335d2f620978a33a9e9b1ad2905caf
Author: Hans Goudey
Date:   Tue Nov 9 12:59:20 2021 -0600
Branches: blender-v3.0-release
https://developer.blender.org/rB44239fa106335d2f620978a33a9e9b1ad2905caf

Fix: Crash with no active object after recent commit

rBaa13c4b386b13111 added a check for the active object
in drawing code, but it missed adding a check for the active
base before trying to retrieve its object.

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

M	source/blender/draw/intern/draw_common.c

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

diff --git a/source/blender/draw/intern/draw_common.c b/source/blender/draw/intern/draw_common.c
index 9151c0bd68b..2cbea2ae6d5 100644
--- a/source/blender/draw/intern/draw_common.c
+++ b/source/blender/draw/intern/draw_common.c
@@ -295,9 +295,10 @@ int DRW_object_wire_theme_get(Object *ob, ViewLayer *view_layer, float **r_color
 {
   const DRWContextState *draw_ctx = DRW_context_state_get();
   const bool is_edit = (draw_ctx->object_mode & OB_MODE_EDIT) && (ob->mode & OB_MODE_EDIT);
-  const bool active = (ob->base_flag & BASE_FROM_DUPLI) ?
-                          (DRW_object_get_dupli_parent(ob) == view_layer->basact->object) :
-                          (view_layer->basact && view_layer->basact->object == ob);
+  const bool active = view_layer->basact &&
+                      ((ob->base_flag & BASE_FROM_DUPLI) ?
+                           (DRW_object_get_dupli_parent(ob) == view_layer->basact->object) :
+                           (view_layer->basact->object == ob));
 
   /* confusing logic here, there are 2 methods of setting the color
    * 'colortab[colindex]' and 'theme_id', colindex overrides theme_id.



More information about the Bf-blender-cvs mailing list