Tweak new BKE_id_is_in_global_main to accept NULL pointer (and consider them as valid).
authorBastien Montagne <montagne29@wanadoo.fr>
Fri, 22 Jun 2018 10:26:45 +0000 (12:26 +0200)
committerBastien Montagne <montagne29@wanadoo.fr>
Fri, 22 Jun 2018 10:26:45 +0000 (12:26 +0200)
source/blender/blenkernel/intern/library.c

index 444e155f5acb66390bff63e4aa8f1104911dbe5b..00c542bcd4a99770462bb419d2c85b1767a6e954 100644 (file)
@@ -2418,6 +2418,7 @@ void BKE_id_tag_clear_atomic(ID *id, int tag)
 /** Check that given ID pointer actually is in G_MAIN.
  * Main intended use is for debug asserts in places we cannot easily get rid of G_Main... */
 bool BKE_id_is_in_gobal_main(ID *id) {
-       return (BLI_findindex(which_libbase(G_MAIN, GS(id->name)), id) != -1);
+       /* We do not want to fail when id is NULL here, even though this is a bit strange behavior... */
+       return (id == NULL || BLI_findindex(which_libbase(G_MAIN, GS(id->name)), id) != -1);
 }