diff options
author | Hans Goudey <h.goudey@me.com> | 2021-11-09 21:59:20 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2021-11-09 21:59:20 +0300 |
commit | 44239fa106335d2f620978a33a9e9b1ad2905caf (patch) | |
tree | 792a300ae8fd174cc4f6377ea576a156d6948b2b /source/blender/draw | |
parent | 7c253995765d3af5e3e292bddc88271096c10b82 (diff) |
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.
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/intern/draw_common.c | 7 |
1 files changed, 4 insertions, 3 deletions
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. |