[Bf-blender-cvs] [7cb2f43b075] workspaces: Merge branch 'blender2.8' into workspaces

Julian Eisel noreply at git.blender.org
Thu Apr 27 00:18:10 CEST 2017


Commit: 7cb2f43b07500f64c791ea822fada87f57e1dae1
Author: Julian Eisel
Date:   Wed Apr 26 21:54:28 2017 +0200
Branches: workspaces
https://developer.blender.org/rB7cb2f43b07500f64c791ea822fada87f57e1dae1

Merge branch 'blender2.8' into workspaces

Conflicts:
	source/blender/blenkernel/BKE_layer.h
	source/blender/blenkernel/intern/layer.c
	source/blender/blenkernel/intern/library_query.c
	source/blender/editors/interface/interface_eyedropper.c
	source/blender/editors/space_image/space_image.c

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



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

diff --cc source/blender/blenkernel/intern/library_query.c
index 184191f9e40,24ddf67a815..a08bfbd5d26
--- a/source/blender/blenkernel/intern/library_query.c
+++ b/source/blender/blenkernel/intern/library_query.c
@@@ -907,49 -991,22 +986,56 @@@ void BKE_library_foreach_ID_link(Main *
  				}
  				break;
  			}
 +
 +			case ID_WM:
 +			{
 +				wmWindowManager *wm = (wmWindowManager *)id;
 +
 +				for (wmWindow *win = wm->windows.first; win; win = win->next) {
 +					ID *workspace = BKE_workspace_id_get(BKE_workspace_active_get(win->workspace_hook));
 +
 +					CALLBACK_INVOKE(win->scene, IDWALK_CB_USER_ONE);
 +
 +					CALLBACK_INVOKE_ID(workspace, IDWALK_CB_NOP);
 +					/* allow callback to set a different workspace */
 +					BKE_workspace_active_set(win->workspace_hook, (WorkSpace *)workspace);
 +				}
 +				break;
 +			}
 +
 +			case ID_WS:
 +			{
 +				WorkSpace *workspace = (WorkSpace *)id;
 +				ListBase *layouts = BKE_workspace_layouts_get(workspace);
 +
 +				BKE_workspace_layout_iter_begin(layout, layouts->first);
 +				{
 +					bScreen *screen = BKE_workspace_layout_screen_get(layout);
 +
 +					CALLBACK_INVOKE(screen, IDWALK_CB_NOP);
 +					/* allow callback to set a different screen */
 +					BKE_workspace_layout_screen_set(layout, screen);
 +				}
 +				BKE_workspace_layout_iter_end;
 +
 +				break;
 +			}
+ 			case ID_GD:
+ 			{
+ 				bGPdata *gpencil = (bGPdata *) id;
+ 
+ 				for (bGPDlayer *gp_layer = gpencil->layers.first; gp_layer; gp_layer = gp_layer->next) {
+ 					CALLBACK_INVOKE(gp_layer->parent, IDWALK_CB_NOP);
+ 				}
+ 				break;
+ 			}
  
  			/* Nothing needed for those... */
 +			case ID_SCR:
  			case ID_IM:
  			case ID_VF:
  			case ID_TXT:
  			case ID_SO:
- 			case ID_AR:
- 			case ID_GD:
 -			case ID_WM:
  			case ID_PAL:
  			case ID_PC:
  			case ID_CF:
@@@ -1061,8 -1133,7 +1162,8 @@@ bool BKE_library_id_can_use_idtype(ID *
  		case ID_MSK:
  			return ELEM(id_type_used, ID_MC);  /* WARNING! mask->parent.id, not typed. */
  		case ID_LS:
- 			return (ELEM(id_type_used, ID_TE, ID_OB) || BKE_library_idtype_can_use_idtype(ID_NT, id_type_used));
+ 			return (ELEM(id_type_used, ID_TE, ID_OB));
 +		case ID_WS:
  		case ID_IM:
  		case ID_VF:
  		case ID_TXT:
diff --cc source/blender/blenloader/intern/readfile.c
index d31a6d84b88,e5d5e20c8f2..5c19011a914
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -6549,12 -6453,16 +6587,12 @@@ static void lib_link_screen(FileData *f
  {
  	for (bScreen *sc = main->screen.first; sc; sc = sc->id.next) {
  		if (sc->id.tag & LIB_TAG_NEED_LINK) {
- 			IDP_LibLinkProperty(sc->id.properties, (fd->flags & FD_FLAGS_SWITCH_ENDIAN), fd);
+ 			IDP_LibLinkProperty(sc->id.properties, fd);
  			id_us_ensure_real(&sc->id);
  
 +			/* deprecated, but needed for versioning (will be NULL'ed then) */
  			sc->scene = newlibadr(fd, sc->id.lib, sc->scene);
  
 -			/* this should not happen, but apparently it does somehow. Until we figure out the cause,
 -			 * just assign first available scene */
 -			if (!sc->scene)
 -				sc->scene = main->scene.first;
 -
  			sc->animtimer = NULL; /* saved in rare cases */
  			sc->scrubbing = false;
  			
diff --cc source/blender/editors/interface/interface_eyedropper.c
index 70504089f99,ea13e67e600..dc1d1403bd4
--- a/source/blender/editors/interface/interface_eyedropper.c
+++ b/source/blender/editors/interface/interface_eyedropper.c
@@@ -262,9 -262,12 +262,11 @@@ static void eyedropper_exit(bContext *C
   */
  static void eyedropper_color_sample_fl(bContext *C, Eyedropper *UNUSED(eye), int mx, int my, float r_col[3])
  {
 -
  	/* we could use some clever */
 -	wmWindow *win = CTX_wm_window(C);
 -	ScrArea *sa = BKE_screen_find_area_xy(win->screen, SPACE_TYPE_ANY, mx, my);
 +	bScreen *screen = CTX_wm_screen(C);
 +	ScrArea *sa = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, mx, my);
+ 	const char *display_device = CTX_data_scene(C)->display_settings.display_device;
+ 	struct ColorManagedDisplay *display = IMB_colormanagement_display_get_named(display_device);
  
  	if (sa) {
  		if (sa->spacetype == SPACE_IMAGE) {
diff --cc source/blender/editors/interface/interface_templates.c
index 189b26882cf,6efaeb88205..e5745fee1aa
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@@ -511,9 -464,14 +511,14 @@@ static void template_ID
  
  		//text_idbutton(id, name);
  		name[0] = '\0';
 -		but = uiDefButR(block, UI_BTYPE_TEXT, 0, name, 0, 0, UI_UNIT_X * 6, UI_UNIT_Y,
 -		                &idptr, "name", -1, 0, 0, -1, -1, RNA_struct_ui_description(type));
 +		but = uiDefButR_prop(block, UI_BTYPE_TEXT, 0, name, 0, 0, UI_UNIT_X * 6, UI_UNIT_Y,
 +		                     &idptr, prop, -1, 0, 0, -1, -1, RNA_struct_ui_description(type));
  		UI_but_funcN_set(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_RENAME));
+ 
+ 		but->search_func = id_search_cb;
+ 		but->search_arg = template;
+ 		ui_but_search_refresh(but, true);
+ 
  		if (user_alert) UI_but_flag_enable(but, UI_BUT_REDALERT);
  
  		if (id->lib) {
diff --cc source/blender/editors/space_image/space_image.c
index 33952fc34ac,754dcc503c4..1666b9e510a
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@@ -537,8 -539,6 +537,7 @@@ static void image_listener(bScreen *UNU
  				case ND_TRANSFORM:
  				case ND_MODIFIER:
  				{
 +					SceneLayer *sl = BKE_scene_layer_context_active(scene);
- 
  					Object *ob = OBACT_NEW;
  					if (ob && (ob == wmn->reference) && (ob->mode & OB_MODE_EDIT)) {
  						if (sima->lock && (sima->flag & SI_DRAWSHADOW)) {
diff --cc source/blender/editors/space_view3d/view3d_draw_legacy.c
index 0ce45633dc1,60b9cbb3b1c..06f8d40aef8
--- a/source/blender/editors/space_view3d/view3d_draw_legacy.c
+++ b/source/blender/editors/space_view3d/view3d_draw_legacy.c
@@@ -2189,10 -2140,10 +2139,10 @@@ static bool view3d_main_region_do_rende
  {
  	RenderEngineType *type = RE_engines_find(scene->r.engine);
  
- 	return (type && type->view_update && type->view_draw);
+ 	return (type && type->view_update && type->render_to_view);
  }
  
 -bool ED_view3d_calc_render_border(Scene *scene, View3D *v3d, ARegion *ar, rcti *rect)
 +bool ED_view3d_calc_render_border(const Scene *scene, View3D *v3d, ARegion *ar, rcti *rect)
  {
  	RegionView3D *rv3d = ar->regiondata;
  	bool use_border;
diff --cc source/blender/windowmanager/intern/wm_window.c
index b24247fd484,3ff323862b3..3353798f0e2
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@@ -680,12 -666,10 +680,12 @@@ wmWindow *WM_window_open(bContext *C, c
   * \param type: WM_WINDOW_RENDER, WM_WINDOW_USERPREFS...
   * \return the window or NULL.
   */
- wmWindow *WM_window_open_temp(bContext *C, const rcti *rect_init, int type)
+ wmWindow *WM_window_open_temp(bContext *C, int x, int y, int sizex, int sizey, int type)
  {
 +	Main *bmain = CTX_data_main(C);
  	wmWindow *win_prev = CTX_wm_window(C);
  	wmWindow *win;
 +	bScreen *screen;
  	ScrArea *sa;
  	Scene *scene = CTX_data_scene(C);
  	const char *title;




More information about the Bf-blender-cvs mailing list