[Bf-blender-cvs] [417febf757c] temp-workspace_active_object: Merge branch 'blender2.8' into temp-workspace_active_object

Julian Eisel noreply at git.blender.org
Sat Dec 2 04:21:56 CET 2017


Commit: 417febf757c8a629079f21f1e8cac415e8b29133
Author: Julian Eisel
Date:   Sat Dec 2 03:40:01 2017 +0100
Branches: temp-workspace_active_object
https://developer.blender.org/rB417febf757c8a629079f21f1e8cac415e8b29133

Merge branch 'blender2.8' into temp-workspace_active_object

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



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

diff --cc source/blender/blenkernel/BKE_workspace.h
index 9ee31947842,9f989f7ae8f..209782737b7
--- a/source/blender/blenkernel/BKE_workspace.h
+++ b/source/blender/blenkernel/BKE_workspace.h
@@@ -98,16 -106,24 +106,26 @@@ void             BKE_workspace_active_l
  struct bScreen *BKE_workspace_active_screen_get(const struct WorkSpaceInstanceHook *hook) GETTER_ATTRS;
  void            BKE_workspace_active_screen_set(
          struct WorkSpaceInstanceHook *hook, struct WorkSpace *workspace, struct bScreen *screen) SETTER_ATTRS;
- enum eObjectMode BKE_workspace_object_mode_get(const struct WorkSpace *workspace) GETTER_ATTRS;
  #ifdef USE_WORKSPACE_MODE
- void            BKE_workspace_object_mode_set(struct WorkSpace *workspace, const enum eObjectMode mode) SETTER_ATTRS;
+ enum eObjectMode BKE_workspace_object_mode_get(
+         const struct WorkSpace *workspace,
+         const struct Scene *scene) GETTER_ATTRS;
+ void BKE_workspace_object_mode_set(
+         struct WorkSpace *workspace,
+         struct Scene *scene,
+         const enum eObjectMode mode) SETTER_ATTRS;
  #endif
- struct Base *BKE_workspace_active_base_get(const struct WorkSpace *workspace) GETTER_ATTRS;
- void BKE_workspace_active_base_set(struct WorkSpace *workspace, struct Base *base) SETTER_ATTRS;
- struct Object *BKE_workspace_active_object_get(const struct WorkSpace *workspace);
 -struct Base *BKE_workspace_active_base_get(const struct WorkSpace *workspace, const struct Scene *scene);
++struct Base *BKE_workspace_active_base_get(const struct WorkSpace *workspace, const struct Scene *scene) GETTER_ATTRS;
++void BKE_workspace_active_base_set(struct WorkSpace *workspace, struct Scene *scene, struct Base *base) SETTER_ATTRS;
++struct Object *BKE_workspace_active_object_get(const struct WorkSpace *workspace, const struct Scene *scene);
  struct ListBase *BKE_workspace_transform_orientations_get(struct WorkSpace *workspace) GETTER_ATTRS;
- struct ViewLayer *BKE_workspace_view_layer_get(const struct WorkSpace *workspace) GETTER_ATTRS;
- void               BKE_workspace_view_layer_set(struct WorkSpace *workspace, struct ViewLayer *layer) SETTER_ATTRS;
+ struct ViewLayer *BKE_workspace_view_layer_get(
+         const struct WorkSpace *workspace,
+         const struct Scene *scene) GETTER_ATTRS;
+ void BKE_workspace_view_layer_set(
+         struct WorkSpace *workspace,
+         struct ViewLayer *layer,
+         struct Scene *scene) SETTER_ATTRS;
  struct ListBase *BKE_workspace_layouts_get(struct WorkSpace *workspace) GETTER_ATTRS;
  
  const char *BKE_workspace_layout_name_get(const struct WorkSpaceLayout *layout) GETTER_ATTRS;
diff --cc source/blender/blenkernel/intern/context.c
index 8378388a120,855216d089b..e9ce2d6728a
--- a/source/blender/blenkernel/intern/context.c
+++ b/source/blender/blenkernel/intern/context.c
@@@ -1269,9 -1269,8 +1269,9 @@@ void CTX_data_eval_ctx(const bContext *
  
  	Scene *scene = CTX_data_scene(C);
  	ViewLayer *view_layer = CTX_data_view_layer(C);
- 	RenderEngineType *engine = CTX_data_engine(C);
+ 	RenderEngineType *engine_type = CTX_data_engine_type(C);
 +	Object *active_object = CTX_data_active_object(C);
  	DEG_evaluation_context_init_from_scene(eval_ctx,
- 	                                       scene, view_layer, engine, active_object,
 -	                                       scene, view_layer, engine_type,
++	                                       scene, view_layer, engine_type, active_object,
  	                                       DAG_EVAL_VIEWPORT);
  }
diff --cc source/blender/blenkernel/intern/workspace.c
index f3db41f0669,8554cf0fb28..08bde00136b
--- a/source/blender/blenkernel/intern/workspace.c
+++ b/source/blender/blenkernel/intern/workspace.c
@@@ -400,20 -428,11 +428,22 @@@ void BKE_workspace_object_mode_set(Work
  }
  #endif
  
- Base *BKE_workspace_active_base_get(const WorkSpace *workspace)
+ Base *BKE_workspace_active_base_get(const WorkSpace *workspace, const Scene *scene)
  {
- 	return workspace->view_layer->basact;
+ 	ViewLayer *view_layer = BKE_workspace_view_layer_get(workspace, scene);
+ 	return view_layer->basact;
  }
- void BKE_workspace_active_base_set(WorkSpace *workspace, Base *base)
++void BKE_workspace_active_base_set(WorkSpace *workspace, Scene *scene, Base *base)
 +{
- 	workspace->view_layer->basact = base;
++	ViewLayer *view_layer = BKE_workspace_view_layer_get(workspace, scene);
++	view_layer->basact = base;
 +}
 +
- Object *BKE_workspace_active_object_get(const WorkSpace *workspace)
++Object *BKE_workspace_active_object_get(const WorkSpace *workspace, const Scene *scene)
 +{
- 	Base *active_base = BKE_workspace_active_base_get(workspace);
++	Base *active_base = BKE_workspace_active_base_get(workspace, scene);
 +	return active_base ? active_base->object : NULL;
 +}
  
  ListBase *BKE_workspace_transform_orientations_get(WorkSpace *workspace)
  {
diff --cc source/blender/depsgraph/DEG_depsgraph.h
index defc1b6f32d,6bcbff4950b..56c1b0a2aaf
--- a/source/blender/depsgraph/DEG_depsgraph.h
+++ b/source/blender/depsgraph/DEG_depsgraph.h
@@@ -86,8 -86,7 +86,8 @@@ typedef struct EvaluationContext 
  
  	struct Depsgraph *depsgraph;
  	struct ViewLayer *view_layer;
- 	struct RenderEngineType *engine;
+ 	struct RenderEngineType *engine_type;
 +	struct Object *active_object;
  } EvaluationContext;
  
  /* DagNode->eval_flags */
@@@ -215,8 -217,7 +218,8 @@@ void DEG_evaluation_context_init(struc
  void DEG_evaluation_context_init_from_scene(struct EvaluationContext *eval_ctx,
                                              struct Scene *scene,
                                              struct ViewLayer *view_layer,
-                                             struct RenderEngineType *engine,
+                                             struct RenderEngineType *engine_type,
 +                                            struct Object *active_object,
                                              eEvaluationMode mode);
  
  /* Free evaluation context. */
diff --cc source/blender/depsgraph/intern/depsgraph_eval.cc
index d46a9a25237,1d389b902b8..c3f24e3d0fc
--- a/source/blender/depsgraph/intern/depsgraph_eval.cc
+++ b/source/blender/depsgraph/intern/depsgraph_eval.cc
@@@ -81,15 -81,13 +81,15 @@@ void DEG_evaluation_context_init(Evalua
  void DEG_evaluation_context_init_from_scene(EvaluationContext *eval_ctx,
                                              Scene *scene,
                                              ViewLayer *view_layer,
-                                             RenderEngineType *engine,
+                                             RenderEngineType *engine_type,
 +                                            Object *active_object,
                                              eEvaluationMode mode)
  {
  	DEG_evaluation_context_init(eval_ctx, mode);
  	eval_ctx->depsgraph = BKE_scene_get_depsgraph(scene, view_layer, false);
  	eval_ctx->view_layer = view_layer;
- 	eval_ctx->engine = engine;
+ 	eval_ctx->engine_type = engine_type;
 +	eval_ctx->active_object = active_object;
  	eval_ctx->ctime = BKE_scene_frame_get(scene);
  	BLI_assert(eval_ctx->depsgraph != NULL);
  }
diff --cc source/blender/draw/intern/draw_armature.c
index f07b553b7aa,c7a88f7689e..597c9dc98e3
--- a/source/blender/draw/intern/draw_armature.c
+++ b/source/blender/draw/intern/draw_armature.c
@@@ -1417,9 -1417,9 +1417,9 @@@ void DRW_shgroup_armature_object
          DRWShadingGroup *shgrp_relationship_lines)
  {
  	float *color;
 -	DRW_object_wire_theme_get(ob, view_layer, &color);
 +	DRW_object_wire_theme_get(ob, is_active, &color);
  
- 	DRW_shgroup_armature(ob, pass_bone_solid, pass_bone_wire, NULL, shgrp_relationship_lines);
+ 	drw_shgroup_armature(ob, pass_bone_solid, pass_bone_wire, NULL, shgrp_relationship_lines);
  	draw_armature_pose(ob, color);
  }
  
diff --cc source/blender/draw/modes/object_mode.c
index 11009cb9472,91b64818eff..20e7664a19a
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@@ -1107,10 -1107,10 +1107,10 @@@ static void DRW_shgroup_lamp(OBJECT_Sto
  {
  	Lamp *la = ob->data;
  	float *color;
 -	int theme_id = DRW_object_wire_theme_get(ob, view_layer, &color);
 +	int theme_id = DRW_object_wire_theme_get(ob, is_active, &color);
  	static float zero = 0.0f;
  
- 	float **la_mats = (float **)DRW_object_engine_data_get(ob, &draw_engine_object_type, NULL);
+ 	float **la_mats = (float **)DRW_object_engine_data_ensure(ob, &draw_engine_object_type, NULL);
  	if (*la_mats == NULL) {
  		/* we need 2 matrices */
  		*la_mats = MEM_mallocN(sizeof(float) * 16 * 2, "Lamp Object Mode Matrices");
@@@ -1453,10 -1453,10 +1453,10 @@@ static void DRW_shgroup_lightprobe(OBJE
  	static float one = 1.0f;
  	LightProbe *prb = (LightProbe *)ob->data;
  	bool do_outlines = ((ob->base_flag & BASE_SELECTED) != 0);
 -	DRW_object_wire_theme_get(ob, view_layer, &color);
 +	DRW_object_wire_theme_get(ob, is_active, &color);
  
  	OBJECT_LightProbeEngineData *prb_data;
- 	OBJECT_LightProbeEngineData **prb_data_pt = (OBJECT_LightProbeEngineData **)DRW_object_engine_data_get(ob, &draw_engine_object_type, NULL);
+ 	OBJECT_LightProbeEngineData **prb_data_pt = (OBJECT_LightProbeEngineData **)DRW_object_engine_data_ensure(ob, &draw_engine_object_type, NULL);
  	if (*prb_data_pt == NULL) {
  		*prb_data_pt = MEM_mallocN(sizeof(OBJECT_LightProbeEngineData), "Probe Clip distances Matrices");
  	}
diff --cc source/blender/editors/armature/armature_intern.h
index 192bb8eea61,192bb8eea61..c8d5f220996
--- a/source/blender/editors/armature/armature_intern.h
+++ b/source/blender/editors/armature/armature_intern.h
@@@ -250,7 -250,7 +250,7 @@@ void armature_tag_unselect(struct bArma
  
  void *get_nearest_bone(struct bContext *C, const int xy[2], bool findunsel);
  void *get_bone_from_selectbuffer(
--        struct Scene *scene, struct Base *base, const unsigned int *buffer, short hits,
++        struct Scene *scene, struct Object *active_object, const unsigned int *buffer, short hits,
          bool findunsel, bool do_nearest);
  
  int bone_looper(struct Object *ob, struct Bone *bone, void *data,
diff --cc source/blender/editors/armature/armature_select.c
index e843c9ddc53,b87942fed84..fb1077992f6
--- a/source/blender/ed

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list