[Bf-blender-cvs] [31c49493d14] blender2.8: Fix incorrect active object setting in scripts.

Brecht Van Lommel noreply at git.blender.org
Tue Jul 24 11:38:52 CEST 2018


Commit: 31c49493d14a68d4f7bf35162c6b16765d1433a0
Author: Brecht Van Lommel
Date:   Tue Jul 24 11:18:45 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB31c49493d14a68d4f7bf35162c6b16765d1433a0

Fix incorrect active object setting in scripts.

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

M	release/scripts/modules/bpy_extras/object_utils.py
M	release/scripts/startup/bl_operators/clip.py
M	release/scripts/startup/bl_operators/rigidbody.py
M	release/scripts/startup/bl_operators/uvcalc_lightmap.py
M	release/scripts/templates_py/batch_export.py
M	release/scripts/templates_py/operator_modal_view3d_raycast.py

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

diff --git a/release/scripts/modules/bpy_extras/object_utils.py b/release/scripts/modules/bpy_extras/object_utils.py
index 7719e2f6e30..fff73a4285a 100644
--- a/release/scripts/modules/bpy_extras/object_utils.py
+++ b/release/scripts/modules/bpy_extras/object_utils.py
@@ -166,7 +166,7 @@ def object_data_add(context, obdata, operator=None, name=None):
 
         obj_act.select_set(action='SELECT')
         scene.update()  # apply location
-        # scene.objects.active = obj_new
+        # layer.objects.active = obj_new
 
         # Match up UV layers, this is needed so adding an object with UV's
         # doesn't create new layers when there happens to be a naming mis-match.
diff --git a/release/scripts/startup/bl_operators/clip.py b/release/scripts/startup/bl_operators/clip.py
index 2717a4f62a3..a94076ab61b 100644
--- a/release/scripts/startup/bl_operators/clip.py
+++ b/release/scripts/startup/bl_operators/clip.py
@@ -238,7 +238,7 @@ class CLIP_OT_track_to_empty(Operator):
         ob = bpy.data.objects.new(name=track.name, object_data=None)
         ob.select_set(action='SELECT')
         context.scene.objects.link(ob)
-        context.scene.objects.active = ob
+        context.view_layer.objects.active = ob
 
         for con in ob.constraints:
             if con.type == 'FOLLOW_TRACK':
@@ -314,7 +314,7 @@ class CLIP_OT_bundles_to_mesh(Operator):
             ob.matrix_world = matrix
             context.scene.objects.link(ob)
             ob.select = True
-            context.scene.objects.active = ob
+            context.view_layer.objects.active = ob
         else:
             self.report({'WARNING'}, "No usable tracks selected")
 
diff --git a/release/scripts/startup/bl_operators/rigidbody.py b/release/scripts/startup/bl_operators/rigidbody.py
index 36150a63895..6b76fb96b62 100644
--- a/release/scripts/startup/bl_operators/rigidbody.py
+++ b/release/scripts/startup/bl_operators/rigidbody.py
@@ -60,7 +60,7 @@ class CopyRigidbodySettings(Operator):
 
     def execute(self, context):
         obj_act = context.object
-        scene = context.scene
+        view_layer = context.view_layer
 
         # deselect all but mesh objects
         for o in context.selected_objects:
@@ -68,9 +68,9 @@ class CopyRigidbodySettings(Operator):
                 o.select_set(action='DESELECT')
             elif o.rigid_body is None:
                 # Add rigidbody to object!
-                scene.objects.active = o
+                view_layer.objects.active = o
                 bpy.ops.rigidbody.object_add()
-        scene.objects.active = obj_act
+        view_layer.objects.active = obj_act
 
         objects = context.selected_objects
         if objects:
@@ -265,7 +265,7 @@ class ConnectRigidBodies(Operator):
         ob = bpy.data.objects.new("Constraint", object_data=None)
         ob.location = loc
         context.scene.objects.link(ob)
-        context.scene.objects.active = ob
+        context.view_layer.objects.active = ob
         ob.select_set(action='SELECT')
 
         bpy.ops.rigidbody.constraint_add()
@@ -278,7 +278,7 @@ class ConnectRigidBodies(Operator):
         con.object2 = object2
 
     def execute(self, context):
-        scene = context.scene
+        view_layer = context.view_layer
         objects = context.selected_objects
         obj_act = context.active_object
         change = False
@@ -312,7 +312,7 @@ class ConnectRigidBodies(Operator):
             bpy.ops.object.select_all(action='DESELECT')
             for obj in objects:
                 obj.select_set(action='SELECT')
-            scene.objects.active = obj_act
+            view_layer.objects.active = obj_act
             return {'FINISHED'}
         else:
             self.report({'WARNING'}, "No other objects selected")
diff --git a/release/scripts/startup/bl_operators/uvcalc_lightmap.py b/release/scripts/startup/bl_operators/uvcalc_lightmap.py
index 95a3d18304b..b866fb1ce40 100644
--- a/release/scripts/startup/bl_operators/uvcalc_lightmap.py
+++ b/release/scripts/startup/bl_operators/uvcalc_lightmap.py
@@ -579,7 +579,7 @@ def unwrap(operator, context, **kwargs):
     # define list of meshes
     meshes = []
     if PREF_ACT_ONLY:
-        obj = context.scene.objects.active
+        obj = context.view_layer.objects.active
         if obj and obj.type == 'MESH':
             meshes = [obj.data]
     else:
diff --git a/release/scripts/templates_py/batch_export.py b/release/scripts/templates_py/batch_export.py
index 1463915886a..a07491742ec 100644
--- a/release/scripts/templates_py/batch_export.py
+++ b/release/scripts/templates_py/batch_export.py
@@ -9,9 +9,9 @@ basedir = os.path.dirname(bpy.data.filepath)
 if not basedir:
     raise Exception("Blend file is not saved")
 
-scene = bpy.context.scene
+view_layer = bpy.context.view_layer
 
-obj_active = scene.objects.active
+obj_active = view_layer.objects.active
 selection = bpy.context.selected_objects
 
 bpy.ops.object.select_all(action='DESELECT')
@@ -21,7 +21,7 @@ for obj in selection:
     obj.select_set(action='SELECT')
 
     # some exporters only use the active object
-    scene.objects.active = obj
+    view_layer.objects.active = obj
 
     name = bpy.path.clean_name(obj.name)
     fn = os.path.join(basedir, name)
@@ -36,7 +36,7 @@ for obj in selection:
     print("written:", fn)
 
 
-scene.objects.active = obj_active
+view_layer.objects.active = obj_active
 
 for obj in selection:
     obj.select_set(action='SELECT')
diff --git a/release/scripts/templates_py/operator_modal_view3d_raycast.py b/release/scripts/templates_py/operator_modal_view3d_raycast.py
index e3b63813fc4..613501143f7 100644
--- a/release/scripts/templates_py/operator_modal_view3d_raycast.py
+++ b/release/scripts/templates_py/operator_modal_view3d_raycast.py
@@ -68,7 +68,7 @@ def main(context, event):
     # we could do lots of stuff but for the example just select.
     if best_obj is not None:
         best_obj.select_set(action='SELECT')
-        context.scene.objects.active = best_obj
+        context.view_layer.objects.active = best_obj
 
 
 class ViewOperatorRayCast(bpy.types.Operator):



More information about the Bf-blender-cvs mailing list