svn merge -r38000:38200 https://svn.blender.org/svnroot/bf-blender/trunk/blender
[blender-staging.git] / source / blender / makesrna / intern / rna_object.c
index bd5a6d823a0bb85e50ab3be2d690b193481f8801..8b85b7e1e28a39fb94dc0b48ce4dd179f7336dd4 100644 (file)
@@ -271,11 +271,16 @@ static void rna_Base_select_update(Main *UNUSED(bmain), Scene *UNUSED(scene), Po
 static void rna_Object_layer_update__internal(Main *bmain, Scene *scene, Base *base, Object *ob)
 {
        /* try to avoid scene sort */
-       if((ob->lay & scene->lay) && (base->lay & scene->lay)) {
+       if(scene == NULL) {
+               /* pass - unlikely but when running scripts on startup it happens */
+       }
+       else if((ob->lay & scene->lay) && (base->lay & scene->lay)) {
                 /* pass */
-       } else if((ob->lay & scene->lay)==0 && (base->lay & scene->lay)==0) {
+       }
+       else if((ob->lay & scene->lay)==0 && (base->lay & scene->lay)==0) {
                /* pass */
-       } else {
+       }
+       else {
                DAG_scene_sort(bmain, scene);
        }
 }
@@ -285,7 +290,7 @@ static void rna_Object_layer_update(Main *bmain, Scene *scene, PointerRNA *ptr)
        Object *ob= (Object*)ptr->id.data;
        Base *base;
 
-       base= object_in_scene(ob, scene);
+       base= scene ? object_in_scene(ob, scene) : NULL;
        if(!base)
                return;