[Bf-blender-cvs] [f7f6a44] multiview: Merge remote-tracking branch 'origin/master' into multiview

Dalai Felinto noreply at git.blender.org
Tue Feb 10 03:56:10 CET 2015


Commit: f7f6a4402202b37b7a314e5bd5c51a1336ddfc3e
Author: Dalai Felinto
Date:   Mon Feb 9 22:36:44 2015 -0200
Branches: multiview
https://developer.blender.org/rBf7f6a4402202b37b7a314e5bd5c51a1336ddfc3e

Merge remote-tracking branch 'origin/master' into multiview

Conflicts:
	source/blender/blenkernel/intern/image.c
	source/blender/editors/space_node/drawnode.c
	source/blender/makesrna/intern/rna_image_api.c

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



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

diff --cc source/blender/blenkernel/BKE_image.h
index 9c95a79,2c9ecef..82fa826
--- a/source/blender/blenkernel/BKE_image.h
+++ b/source/blender/blenkernel/BKE_image.h
@@@ -187,12 -185,7 +187,9 @@@ void BKE_image_walk_all_users(const str
  
  /* ensures an Image exists for viewing nodes or render */
  struct Image *BKE_image_verify_viewer(int type, const char *name);
 +/* ensures the view node cache is compatible with the scene views */
 +void BKE_image_verify_viewer_views(const struct RenderData *rd, struct Image *ima, struct ImageUser *iuser);
  
- /* force an ImBuf to become part of Image */
- void BKE_image_assign_ibuf(struct Image *ima, struct ImBuf *ibuf);
- 
  /* called on frame change or before render */
  void BKE_image_user_frame_calc(struct ImageUser *iuser, int cfra, int fieldnr);
  void BKE_image_user_check_frame_calc(struct ImageUser *iuser, int cfra, int fieldnr);
diff --cc source/blender/blenkernel/intern/image.c
index cb0fe4f,131a19b..73da1a8
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@@ -2349,64 -2182,6 +2351,59 @@@ Image *BKE_image_verify_viewer(int type
  	return ima;
  }
  
 +static void image_viewer_create_views(const RenderData *rd, Image *ima)
 +{
 +	SceneRenderView *srv;
 +	for (srv = rd->views.first; srv; srv = srv->next) {
 +		if (BKE_scene_render_view_active(rd, srv) == false)
 +			continue;
 +		image_add_view(ima, srv->name, "");
 +	}
 +}
 +
 +/* Reset the image cache and views when the Viewer Nodes views don't match the scene views */
 +void BKE_image_verify_viewer_views(const RenderData *rd, Image *ima, ImageUser *iuser)
 +{
 +	bool do_reset;
 +
 +	BLI_lock_thread(LOCK_DRAW_IMAGE);
 +
 +	if (BKE_scene_is_stereo3d(rd)) {
 +		ima->flag |= IMA_IS_STEREO;
 +		ima->flag |= IMA_IS_MULTIVIEW;
 +	}
 +	else {
 +		ima->flag &= ~IMA_IS_STEREO;
 +		ima->flag &= ~IMA_IS_MULTIVIEW;
 +		iuser->flag &= ~IMA_SHOW_STEREO;
 +	}
 +
 +	/* see if all scene render views are in the image view list */
 +	do_reset = (BKE_scene_num_views_get(rd) != BLI_listbase_count(&ima->views));
 +	if (!do_reset) {
 +		SceneRenderView *srv;
 +		ImageView *iv;
 +
 +		for (iv = ima->views.first; iv; iv = iv->next) {
 +			srv = BLI_findstring(&rd->views, iv->name, offsetof(SceneRenderView, name));
 +			if ((srv == NULL) || (BKE_scene_render_view_active(rd, srv) == false)) {
 +				do_reset = true;
 +				break;
 +			}
 +		}
 +	}
 +
 +	if (do_reset) {
 +		image_free_cached_frames(ima);
 +		BKE_image_free_views(ima);
 +
 +		/* add new views */
 +		image_viewer_create_views(rd, ima);
 +	}
 +
 +	BLI_unlock_thread(LOCK_DRAW_IMAGE);
 +}
 +
- void BKE_image_assign_ibuf(Image *ima, ImBuf *ibuf)
- {
- 	image_assign_ibuf(ima, ibuf, IMA_NO_INDEX, 0);
- }
- 
  void BKE_image_walk_all_users(const Main *mainp, void *customdata,
                                void callback(Image *ima, ImageUser *iuser, void *customdata))
  {
diff --cc source/blender/editors/include/UI_interface.h
index d5c84e8,590ab1d..c3560f8
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@@ -891,9 -891,8 +891,10 @@@ void uiTemplateGameStates(uiLayout *lay
                        PointerRNA *used_ptr, const char *used_propname, int active_state);
  void uiTemplateImage(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, const char *propname, struct PointerRNA *userptr, int compact);
  void uiTemplateImageSettings(uiLayout *layout, struct PointerRNA *imfptr, int color_management);
 +void uiTemplateImageStereo3d(uiLayout *layout, struct PointerRNA *stereo3d_format_ptr);
 +void uiTemplateImageViews(uiLayout *layout, struct PointerRNA *imfptr);
  void uiTemplateImageLayers(uiLayout *layout, struct bContext *C, struct Image *ima, struct ImageUser *iuser);
+ void uiTemplateImageInfo(uiLayout *layout, struct bContext *C, Image *ima, ImageUser *iuser);
  void uiTemplateRunningJobs(uiLayout *layout, struct bContext *C);
  void UI_but_func_operator_search(uiBut *but);
  void uiTemplateOperatorSearch(uiLayout *layout);
diff --cc source/blender/editors/space_node/drawnode.c
index 07f4ff6,2089dce..e33ecc8
--- a/source/blender/editors/space_node/drawnode.c
+++ b/source/blender/editors/space_node/drawnode.c
@@@ -703,11 -703,8 +703,10 @@@ static void node_buts_image_user(uiLayo
  		uiItemR(col, ptr, "use_auto_refresh", 0, NULL, ICON_NONE);
  	}
  
- 	col = uiLayoutColumn(layout, false);
- 
 -	if (RNA_enum_get(imaptr, "type") == IMA_TYPE_MULTILAYER) {
 +	if (RNA_enum_get(imaptr, "type") == IMA_TYPE_MULTILAYER &&
 +	    RNA_boolean_get(ptr, "has_layers"))
 +	{
+ 		col = uiLayoutColumn(layout, false);
  		uiItemR(col, ptr, "layer", 0, NULL, ICON_NONE);
  	}
  }
diff --cc source/blender/makesrna/intern/rna_image_api.c
index 38ad15a,5fc65ea..9b559c8
--- a/source/blender/makesrna/intern/rna_image_api.c
+++ b/source/blender/makesrna/intern/rna_image_api.c
@@@ -144,9 -142,10 +142,11 @@@ static void rna_Image_save(Image *image
  	WM_event_add_notifier(C, NC_IMAGE | NA_EDITED, image);
  }
  
- static void rna_Image_pack(Image *image, bContext *C, ReportList *reports, int as_png, const char *data, int data_len)
+ static void rna_Image_pack(
+         Image *image, Main *bmain, bContext *C, ReportList *reports,
+         int as_png, const char *data, int data_len)
  {
 +	Scene *scene = CTX_data_scene(C);
  	ImBuf *ibuf = BKE_image_acquire_ibuf(image, NULL, NULL);
  
  	if (!as_png && (ibuf && (ibuf->userflags & IB_BITMAPDIRTY))) {
@@@ -166,7 -165,7 +166,7 @@@
  			image->packedfile = newPackedFileMemory(data_dup, data_len);
  		}
  		else {
- 			BKE_image_packfiles(reports, image, ID_BLEND_PATH(G.main, &image->id));
 -			image->packedfile = newPackedFile(reports, image->name, ID_BLEND_PATH(bmain, &image->id));
++			BKE_image_packfiles(reports, image, ID_BLEND_PATH(bmain, &image->id));
  		}
  	}




More information about the Bf-blender-cvs mailing list