[Bf-blender-cvs] [805cabdf177] master: Fix T64483: crash when hovering over outliner after closing render window

Sybren A. Stüvel noreply at git.blender.org
Tue Jul 9 11:52:29 CEST 2019


Commit: 805cabdf177af6c71da6239ff3fc5d2524286a18
Author: Sybren A. Stüvel
Date:   Tue Jul 9 11:51:56 2019 +0200
Branches: master
https://developer.blender.org/rB805cabdf177af6c71da6239ff3fc5d2524286a18

Fix T64483: crash when hovering over outliner after closing render window

The `tselem->id` pointer can also be used for non-ID data (according to
this comment in DNA_outliner_types.h:

```
/* XXX We actually also store non-ID data in this pointer for identifying
 * the TreeStoreElem for a TreeElement when rebuilding the tree. Ugly! */
```

As such, I don't mind adding a `NULL`-check in the
`is_object_data_in_editmode()` function. After all, when there is no
object, its data certainly is not in edit mode.

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

M	source/blender/editors/space_outliner/outliner_draw.c

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

diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c
index 7451c8672f4..31783e09aeb 100644
--- a/source/blender/editors/space_outliner/outliner_draw.c
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@ -116,6 +116,10 @@ static void outliner_tree_dimensions(SpaceOutliner *soops, int *r_width, int *r_
  */
 static bool is_object_data_in_editmode(const ID *id, const Object *obact)
 {
+  if (id == NULL) {
+    return false;
+  }
+
   const short id_type = GS(id->name);
 
   if (id_type == ID_GD && obact && obact->data == id) {



More information about the Bf-blender-cvs mailing list