diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-04-05 19:20:27 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-04-05 19:21:14 +0300 |
commit | 1c24c04e6023f2d2a328dfcdc9f86cd381d029a3 (patch) | |
tree | 7a5af59ce078cb66fb17ec33cf111ffc8d5fb328 /source/blender/editors/render | |
parent | 57329304b061efe756e3a4ce1b828e9a7c7f7030 (diff) |
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.
Diffstat (limited to 'source/blender/editors/render')
-rw-r--r-- | source/blender/editors/render/render_shading.c | 6 | ||||
-rw-r--r-- | source/blender/editors/render/render_update.c | 28 |
2 files changed, 8 insertions, 26 deletions
diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 222e0e20dff..270ba2a7947 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -99,7 +99,6 @@ static int material_slot_add_exec(bContext *C, wmOperator *UNUSED(op)) { - const WorkSpace *workspace = CTX_wm_workspace(C); Object *ob = ED_object_context(C); if (!ob) @@ -107,7 +106,7 @@ static int material_slot_add_exec(bContext *C, wmOperator *UNUSED(op)) BKE_object_material_slot_add(ob); - if (workspace->object_mode & OB_MODE_TEXTURE_PAINT) { + if (ob->mode & OB_MODE_TEXTURE_PAINT) { Scene *scene = CTX_data_scene(C); BKE_paint_proj_mesh_data_check(scene, ob, NULL, NULL, NULL, NULL); WM_event_add_notifier(C, NC_SCENE | ND_TOOLSETTINGS, NULL); @@ -137,7 +136,6 @@ void OBJECT_OT_material_slot_add(wmOperatorType *ot) static int material_slot_remove_exec(bContext *C, wmOperator *op) { - const WorkSpace *workspace = CTX_wm_workspace(C); Object *ob = ED_object_context(C); if (!ob) @@ -151,7 +149,7 @@ static int material_slot_remove_exec(bContext *C, wmOperator *op) BKE_object_material_slot_remove(ob); - if (workspace->object_mode & OB_MODE_TEXTURE_PAINT) { + if (ob->mode & OB_MODE_TEXTURE_PAINT) { Scene *scene = CTX_data_scene(C); BKE_paint_proj_mesh_data_check(scene, ob, NULL, NULL, NULL, NULL); WM_event_add_notifier(C, NC_SCENE | ND_TOOLSETTINGS, NULL); diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c index 4d006028245..d29985041c6 100644 --- a/source/blender/editors/render/render_update.c +++ b/source/blender/editors/render/render_update.c @@ -401,12 +401,10 @@ static void texture_changed(Main *bmain, Tex *tex) /* icons */ BKE_icon_changed(BKE_icon_id_ensure(&tex->id)); - const eObjectMode object_mode = WM_windows_object_mode_get(bmain->wm.first); - /* paint overlays */ for (scene = bmain->scene.first; scene; scene = scene->id.next) { for (view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) { - BKE_paint_invalidate_overlay_tex(scene, view_layer, tex, object_mode); + BKE_paint_invalidate_overlay_tex(scene, view_layer, tex); } } @@ -526,23 +524,11 @@ static void scene_changed(Main *bmain, Scene *scene) Object *ob; /* glsl */ - bool has_texture_mode = false; - wmWindowManager *wm = bmain->wm.first; - for (wmWindow *win = wm->windows.first; win; win = win->next) { - WorkSpace *workspace = WM_window_get_active_workspace(win); - if (workspace->object_mode & OB_MODE_TEXTURE_PAINT) { - has_texture_mode = true; - break; - } - } - - if (has_texture_mode) { - for (ob = bmain->object.first; ob; ob = ob->id.next) { - if (ob->type == OB_MESH) { - BKE_texpaint_slots_refresh_object(scene, ob); - BKE_paint_proj_mesh_data_check(scene, ob, NULL, NULL, NULL, NULL); - GPU_drawobject_free(ob->derivedFinal); - } + for (ob = bmain->object.first; ob; ob = ob->id.next) { + if (ob->mode & OB_MODE_TEXTURE_PAINT) { + BKE_texpaint_slots_refresh_object(scene, ob); + BKE_paint_proj_mesh_data_check(scene, ob, NULL, NULL, NULL, NULL); + GPU_drawobject_free(ob->derivedFinal); } } } @@ -572,10 +558,8 @@ void ED_render_id_flush_update(const DEGEditorUpdateContext *update_ctx, ID *id) lamp_changed(bmain, (Lamp *)id); break; case ID_IM: - { image_changed(bmain, (Image *)id); break; - } case ID_SCE: scene_changed(bmain, (Scene *)id); render_engine_flag_changed(bmain, RE_ENGINE_UPDATE_OTHER); |