[Bf-blender-cvs] [1c24c04e602] blender2.8: Remove workspace object mode, reverts changes w/ 2.8
Campbell Barton
noreply at git.blender.org
Thu Apr 5 18:23:28 CEST 2018
Commit: 1c24c04e6023f2d2a328dfcdc9f86cd381d029a3
Author: Campbell Barton
Date: Thu Apr 5 18:20:27 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB1c24c04e6023f2d2a328dfcdc9f86cd381d029a3
Remove workspace object mode, reverts changes w/ 2.8
This caused too many problems syncing object modes
with multiple objects/windows/workspaces, see: D3130 for details.
===================================================================
M intern/cycles/blender/blender_curves.cpp
M release/scripts/modules/bpy_extras/object_utils.py
M release/scripts/modules/keyingsets_utils.py
M release/scripts/startup/bl_operators/freestyle.py
M release/scripts/startup/bl_operators/mesh.py
M release/scripts/startup/bl_operators/object.py
M release/scripts/startup/bl_operators/object_quick_effects.py
M release/scripts/startup/bl_operators/uvcalc_lightmap.py
M release/scripts/startup/bl_operators/uvcalc_smart_project.py
M release/scripts/startup/bl_operators/view3d.py
M release/scripts/startup/bl_ui/properties_constraint.py
M release/scripts/startup/bl_ui/properties_data_bone.py
M release/scripts/startup/bl_ui/properties_data_mesh.py
M release/scripts/startup/bl_ui/properties_data_modifier.py
M release/scripts/startup/bl_ui/properties_material.py
M release/scripts/startup/bl_ui/space_image.py
M release/scripts/startup/bl_ui/space_info.py
M release/scripts/startup/bl_ui/space_view3d.py
M release/scripts/startup/bl_ui/space_view3d_toolbar.py
M release/scripts/startup/keyingsets_builtins.py
M source/blender/blenkernel/BKE_DerivedMesh.h
M source/blender/blenkernel/BKE_cloth.h
M source/blender/blenkernel/BKE_modifier.h
M source/blender/blenkernel/BKE_multires.h
M source/blender/blenkernel/BKE_object.h
M source/blender/blenkernel/BKE_paint.h
M source/blender/blenkernel/BKE_particle.h
M source/blender/blenkernel/BKE_shrinkwrap.h
M source/blender/blenkernel/BKE_workspace.h
M source/blender/blenkernel/intern/DerivedMesh.c
M source/blender/blenkernel/intern/cdderivedmesh.c
M source/blender/blenkernel/intern/cloth.c
M source/blender/blenkernel/intern/context.c
M source/blender/blenkernel/intern/modifier.c
M source/blender/blenkernel/intern/multires.c
M source/blender/blenkernel/intern/object.c
M source/blender/blenkernel/intern/object_dupli.c
M source/blender/blenkernel/intern/object_update.c
M source/blender/blenkernel/intern/paint.c
M source/blender/blenkernel/intern/particle.c
M source/blender/blenkernel/intern/particle_system.c
M source/blender/blenkernel/intern/scene.c
M source/blender/blenkernel/intern/shrinkwrap.c
M source/blender/blenkernel/intern/subsurf_ccg.c
M source/blender/blenkernel/intern/workspace.c
M source/blender/blenloader/intern/readfile.c
M source/blender/blenloader/intern/versioning_250.c
M source/blender/bmesh/intern/bmesh_mesh.c
M source/blender/collada/AnimationExporter.cpp
M source/blender/collada/SkinInfo.cpp
M source/blender/depsgraph/DEG_depsgraph.h
M source/blender/depsgraph/intern/depsgraph_eval.cc
M source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
M source/blender/draw/DRW_engine.h
M source/blender/draw/intern/draw_manager.c
M source/blender/draw/intern/draw_view.c
M source/blender/editors/animation/keyframing.c
M source/blender/editors/armature/armature_relations.c
M source/blender/editors/armature/armature_skinning.c
M source/blender/editors/armature/meshlaplacian.c
M source/blender/editors/armature/meshlaplacian.h
M source/blender/editors/armature/pose_edit.c
M source/blender/editors/armature/pose_select.c
M source/blender/editors/gpencil/gpencil_convert.c
M source/blender/editors/include/ED_armature.h
M source/blender/editors/include/ED_image.h
M source/blender/editors/include/ED_info.h
M source/blender/editors/include/ED_mesh.h
M source/blender/editors/include/ED_object.h
M source/blender/editors/include/ED_screen.h
M source/blender/editors/include/ED_uvedit.h
M source/blender/editors/interface/interface_handlers.c
M source/blender/editors/interface/interface_icons.c
M source/blender/editors/interface/interface_templates.c
M source/blender/editors/mesh/editmesh_select.c
M source/blender/editors/mesh/mesh_data.c
M source/blender/editors/mesh/mesh_navmesh.c
M source/blender/editors/mesh/meshtools.c
M source/blender/editors/object/object_add.c
M source/blender/editors/object/object_bake.c
M source/blender/editors/object/object_bake_api.c
M source/blender/editors/object/object_constraint.c
M source/blender/editors/object/object_edit.c
M source/blender/editors/object/object_facemap_ops.c
M source/blender/editors/object/object_modes.c
M source/blender/editors/object/object_modifier.c
M source/blender/editors/object/object_ops.c
M source/blender/editors/object/object_relations.c
M source/blender/editors/object/object_select.c
M source/blender/editors/object/object_shapekey.c
M source/blender/editors/object/object_transform.c
M source/blender/editors/object/object_vgroup.c
M source/blender/editors/physics/particle_edit.c
M source/blender/editors/physics/particle_object.c
M source/blender/editors/render/render_shading.c
M source/blender/editors/render/render_update.c
M source/blender/editors/scene/scene_edit.c
M source/blender/editors/screen/screen_context.c
M source/blender/editors/screen/screen_ops.c
M source/blender/editors/screen/workspace_edit.c
M source/blender/editors/sculpt_paint/paint_curve.c
M source/blender/editors/sculpt_paint/paint_hide.c
M source/blender/editors/sculpt_paint/paint_image.c
M source/blender/editors/sculpt_paint/paint_image_proj.c
M source/blender/editors/sculpt_paint/paint_image_undo.c
M source/blender/editors/sculpt_paint/paint_ops.c
M source/blender/editors/sculpt_paint/paint_utils.c
M source/blender/editors/sculpt_paint/paint_vertex.c
M source/blender/editors/sculpt_paint/paint_vertex_color_ops.c
M source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c
M source/blender/editors/sculpt_paint/sculpt.c
M source/blender/editors/sculpt_paint/sculpt_undo.c
M source/blender/editors/space_buttons/CMakeLists.txt
M source/blender/editors/space_buttons/buttons_context.c
M source/blender/editors/space_image/image_edit.c
M source/blender/editors/space_image/image_ops.c
M source/blender/editors/space_image/space_image.c
M source/blender/editors/space_info/info_stats.c
M source/blender/editors/space_outliner/outliner_draw.c
M source/blender/editors/space_outliner/outliner_edit.c
M source/blender/editors/space_outliner/outliner_intern.h
M source/blender/editors/space_outliner/outliner_select.c
M source/blender/editors/space_outliner/outliner_tree.c
M source/blender/editors/space_time/space_time.c
M source/blender/editors/space_view3d/drawarmature.c
M source/blender/editors/space_view3d/drawmesh.c
M source/blender/editors/space_view3d/drawobject.c
M source/blender/editors/space_view3d/space_view3d.c
M source/blender/editors/space_view3d/view3d_buttons.c
M source/blender/editors/space_view3d/view3d_draw.c
M source/blender/editors/space_view3d/view3d_draw_legacy.c
M source/blender/editors/space_view3d/view3d_edit.c
M source/blender/editors/space_view3d/view3d_header.c
M source/blender/editors/space_view3d/view3d_intern.h
M source/blender/editors/space_view3d/view3d_select.c
M source/blender/editors/space_view3d/view3d_snap.c
M source/blender/editors/space_view3d/view3d_view.c
M source/blender/editors/transform/transform.h
M source/blender/editors/transform/transform_conversions.c
M source/blender/editors/transform/transform_generics.c
M source/blender/editors/transform/transform_manipulator.c
M source/blender/editors/transform/transform_orientations.c
M source/blender/editors/transform/transform_snap.c
M source/blender/editors/transform/transform_snap_object.c
M source/blender/editors/undo/memfile_undo.c
M source/blender/editors/util/ed_util.c
M source/blender/editors/uvedit/uvedit_draw.c
M source/blender/gpu/GPU_draw.h
M source/blender/gpu/intern/gpu_draw.c
M source/blender/makesdna/DNA_object_types.h
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesdna/DNA_workspace_types.h
M source/blender/makesrna/intern/rna_brush.c
M source/blender/makesrna/intern/rna_layer.c
M source/blender/makesrna/intern/rna_material.c
M source/blender/makesrna/intern/rna_object.c
M source/blender/makesrna/intern/rna_object_force.c
M source/blender/makesrna/intern/rna_scene.c
M source/blender/makesrna/intern/rna_scene_api.c
M source/blender/makesrna/intern/rna_sculpt_paint.c
M source/blender/makesrna/intern/rna_space.c
M source/blender/makesrna/intern/rna_texture.c
M source/blender/makesrna/intern/rna_userdef.c
M source/blender/makesrna/intern/rna_wm.c
M source/blender/makesrna/intern/rna_workspace.c
M source/blender/modifiers/intern/MOD_meshdeform.c
M source/blender/modifiers/intern/MOD_multires.c
M source/blender/modifiers/intern/MOD_shrinkwrap.c
M source/blender/modifiers/intern/MOD_subsurf.c
M source/blender/modifiers/intern/MOD_surfacedeform.c
M source/blender/nodes/texture/node_texture_tree.c
M source/blender/render/intern/source/convertblender.c
M source/blender/windowmanager/WM_api.h
M source/blender/windowmanager/intern/wm_event_system.c
M source/blender/windowmanager/intern/wm_window.c
M source/blenderplayer/bad_level_call_stubs/stubs.c
===================================================================
diff --git a/intern/cycles/blender/blender_curves.cpp b/intern/cycles/blender/blender_curves.cpp
index 984442fb08c..ba936a3f369 100644
--- a/intern/cycles/blender/blender_curves.cpp
+++ b/intern/cycles/blender/blender_curves.cpp
@@ -903,8 +903,7 @@ void BlenderSync::sync_curves(BL::Depsgraph& b_depsgraph,
/* obtain general settings */
const bool use_curves = scene->curve_system_manager->use_curves;
- /* TODO/OBMODE, make cycles mode aware. */
- if(!(use_curves /* && b_ob.mode() != b_ob.mode_PARTICLE_EDIT */ )) {
+ if(!(use_curves && b_ob.mode() != b_ob.mode_PARTICLE_EDIT)) {
if(!motion)
mesh->compute_bounds();
return;
diff --git a/release/scripts/modules/bpy_extras/object_utils.py b/release/scripts/modules/bpy_extras/object_utils.py
index 31938f3ad3e..04b3858bb0d 100644
--- a/release/scripts/modules/bpy_extras/object_utils.py
+++ b/release/scripts/modules/bpy_extras/object_utils.py
@@ -119,7 +119,6 @@ def object_data_add(context, obdata, operator=None, name=None):
:return: the newly created object in the scene.
:rtype: :class:`bpy.types.Object`
"""
- workspace = context.workspace
scene = context.scene
layer = context.view_layer
layer_collection = context.layer_collection
@@ -147,9 +146,9 @@ def object_data_add(context, obdata, operator=None, name=None):
# caused because entering edit-mode does not add a empty undo slot!
if context.user_preferences.edit.use_enter_edit_mode:
if not (obj_act and
- obj_act.type == obj_new.type and
- workspace.object_mode == 'EDIT'
- ):
+ obj_act.mode == 'EDIT' and
+ obj_act.type == obj_new.type):
+
_obdata = bpy.data.meshes.new(name)
obj_act = bpy.data.objects.new(_obdata.name, _obdata)
obj_act.matrix_world = obj_new.matrix_world
@@ -160,10 +159,7 @@ def object_data_add(context, obdata, operator=None, name=None):
bpy.ops.ed.undo_push(message="Enter Editmode")
# XXX
- if (obj_act and
- obj_act.type == obj_new.type and
- workspace.object_mode == 'EDIT'
- ):
+ if obj_act and obj_act.mode == 'EDIT' and obj_act.type == obj_new.type:
bpy.ops.mesh.select_all(action='DESELECT')
obj_act.select_set(action='SELECT')
bpy.ops.object.mode_set(mode='OBJECT')
@@ -253,10 +249,9 @@ def object_image_guess(obj, bm=None):
first checking the texture-faces, then the material.
"""
# TODO, cycles/nodes materials
- workspace = context.workspace
me = obj.data
if bm is None:
- if workspace.object_mode == 'EDIT':
+ if obj.mode == 'EDIT':
import bmesh
bm = bmesh.from_edit_mesh(me)
diff --git a/release/scripts/modules/keyingsets_utils.py b/release/scripts/modules/keyingsets_utils.py
index 40e74e27ed2..7ce5f3e029b 100644
--- a/release/scripts/modules/keyingsets_utils.py
+++ b/release/scripts/modules/keyingsets_utils.py
@@ -57,10 +57,9 @@ def path_add_property(path, prop):
# selected objects (active object must be in object mode)
def RKS_POLL_selected_objects(ksi, context):
- workspace = context.workspace
ob = context.active_object
if ob:
- return workspace.object_mode == 'OBJECT'
+ return ob.mode == 'OBJECT'
else:
return bool(context.selected_objects)
@@ -68,9 +67,8 @@ def RKS_POLL_selected_objects(ksi, context):
# selected bones
def RKS_POLL_selected_bones(ksi, context):
# we must be in Pose Mode, and there must be some bones selected
- workspace = context.workspace
ob = context.active_object
- if ob and workspace.object_mode == 'POSE':
+ if ob and ob.mode == 'POSE':
if context.active_pose_bone or context.selected_pose_bones:
return True
@@ -89,9 +87,8 @@ def RKS_POLL_selected_items(ksi, context):
# all selected objects or pose bones, depending on which we've got
def RKS_ITER_selected_item(ksi, context, ks):
- workspace = context.workspace
ob = context.active_object
- if ob and workspace.object_mode == 'POSE':
+ if ob and ob.mode == 'POSE':
for bone in context.selected_pose_bones:
ksi.generate(context, ks, bone)
else:
diff --git a/release/scripts/startup/bl_operators/freestyle.py b/release/scripts/startup/bl_operators/freestyle.py
index 9b1d054cc15..0cfe78879db 100644
--- a/release/scripts/startup/bl_operators/freestyle.py
+++ b/release/scripts/startup/bl_operators/freestyle.py
@@ -53,7 +53,6 @@ class SCENE_OT_freestyle_fill_range_by_selection(bpy.types.Operator):
def execute(self, context):
import sys
- workspace = context.workspace
scene = context.scene
view_layer = scene.view_layers.active
lineset = view_layer.freestyle_settings.linesets.active
@@ -80,7 +79,7 @@ class SCENE_OT_freestyle_fill_range_by_selection(bpy.types.Operator):
return {'CANCELLED'}
# Find selected vertices in editmesh
ob = context.active_object
- if ob.type == 'MESH' and workspace.object_mode == 'EDIT' and ob.name != ref.name:
+ if ob.type == 'MESH' and ob.mode == 'EDIT' and ob.name != ref.name:
bpy.ops.object.mode_set(mode='OBJECT')
selected_verts = [v for v in ob.data.vertices if v.select]
bpy.ops.object.mode_set(mode='EDIT')
@@ -144,7 +143,6 @@ class SCENE_OT_freestyle_add_edge_marks_to_keying_set(bpy.types.Operator):
def execute(self, context):
# active keying set
- workspace = context.workspace
scene = context.scene
ks = scene.keying_sets.active
if ks is None:
@@ -152,7 +150,7 @@ class SCENE_OT_freestyle_add_edge_marks_to_keying_set(bpy.types.Operator):
ks.bl_description = ""
# add data paths to the keying set
ob = context.active_object
- ob_mode = workspace.object_mode
+ ob_mode = ob.mode
mesh = ob.data
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
for i, edge in enumerate(mesh.edges):
@@ -176,7 +174,6 @@ class SCENE_OT_freestyle_add_face_marks_to_keying_set(bpy.types.Operator):
def execute(self, context):
# active keying set
- workspace = context.workspace
scene = context.scene
ks = scene.keying_sets.active
if ks is None:
@@ -184,7 +181,7 @@ class SCENE_OT_freestyle_add_face_marks_to_keying_set(bpy.types.Operator):
ks.bl_description = ""
# add data paths to the keying set
ob = context.active_object
- ob_mode = workspace.object_mode
+ ob_mode = ob.mode
mesh = ob.data
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
for i, polygon in enumerate(mesh.polygons):
diff --git a/release/scripts/startup/bl_operators/mesh.py b/release/scripts/startup/bl_operators/mesh.py
index ccc592e80b8..c7a11c23c3f 100644
--- a/release/scripts/startup/bl_operators/mesh.py
+++ b/release/scripts/startup/bl_operators/mesh.py
@@ -57,9 +57,8 @@ class MeshMirrorUV(Operator):
precision = self.precision
double_warn = 0
- workspace = context.workspace
ob = context.active_object
- is_editmode = (workspace.object_mode == 'EDIT')
+ is_editmode = (ob.mode == 'EDIT')
if is_editmode:
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
diff --git a/release/scripts/startup/bl_operators/object.py b/release/scripts/startup/bl_operators/object.py
index 58f3afa3d6c..566487d9d0e 100644
--- a/release/scripts/startup/bl_operators/object.py
+++ b/release/scripts/startup/bl_operators/object.py
@@ -63,13 +63,12 @@ class SelectPattern(Operator):
pattern_match = (lambda a, b:
fnmatch.fnmatchcase(a.upper(), b.upper()))
is_ebone = False
- workspace = context.workspace
obj = context.object
- if obj and workspace.object_mode == 'POSE':
+ if obj and obj.mode == 'POSE':
items = obj.data.bones
if not self.extend:
bpy.ops.pose.select_all(action='DESELECT')
- elif obj and obj.type == 'ARMATURE' and workspace.object_mode == 'EDIT':
+ elif obj and obj.type == 'ARMATURE' and obj.mode == 'EDIT':
items = obj.data.edit_bones
if not self.extend:
bpy.ops.armature.select_all(action='DESELECT')
@@ -249,8 +248,6 @@ class SubdivisionSet(Operator):
if not relative and level < 0:
self.level = level = 0
- workspace = context.workspace
-
def set_object_subd(obj):
for mod in obj.modifiers:
if mod.type == 'MULTIRES':
@@ -260,18 +257,18 @@ class SubdivisionSet(Operator):
for i in range(sub):
bpy.ops.object.multires_subdivide(modifier="Multires")
- if workspace.object_mode == 'SCULPT':
+ if obj.mode == 'SCULPT':
if mod.sculpt_levels != level:
mod.sculpt_levels = level
- elif workspace.object_mode == 'OBJECT':
+ elif obj.mode == 'OBJECT':
if mod.levels != level:
mod.levels = level
return
else:
- if workspace.object_mode == 'SCULPT':
+ if obj.mode == 'SCULPT':
if mod.sculpt_levels + level <= mod.total_levels:
mod.sculpt_levels += level
- elif workspace.object_mode == 'OBJECT':
+ elif obj.mode == 'OBJECT':
if mod.levels + level <= mod.total_levels:
mod.levels += level
return
@@ -287,7 +284,7 @@ class SubdivisionSet(Operator):
# add a new modifier
try:
- if workspace.object_mode == 'SCULPT':
+ if obj.mode == 'SCULPT':
mod = obj.modifiers.new("Multires", 'MULTIRES')
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list