Commit: a4e537d0f4f25285b8a5cfb6059153bad7978520
Author: Dalai Felinto
Date:   Mon Sep 8 19:46:08 2014 +0200
Branches: multiview
https://developer.blender.org/rBa4e537d0f4f25285b8a5cfb6059153bad7978520

Image Editor saving of Image in 3d working (it was working for RenderResult 
images only in the past)

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

M       source/blender/editors/space_image/image_ops.c

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

diff --git a/source/blender/editors/space_image/image_ops.c 
b/source/blender/editors/space_image/image_ops.c
index 6387801..30385fe 100644
--- a/source/blender/editors/space_image/image_ops.c
+++ b/source/blender/editors/space_image/image_ops.c
@@ -1786,10 +1786,10 @@ static bool save_image_doit(bContext *C, SpaceImage 
*sima, wmOperator *op, SaveI
                        }
                }
 
-               /* we need renderresult for exr and multiview */
+               /* we need renderresult for exr and rendered multiview */
                scene = CTX_data_scene(C);
                rr = BKE_image_acquire_renderresult(scene, ima);
-               is_mono = rr ? BLI_countlist(&rr->views) < 2 : false;
+               is_mono = rr ? BLI_countlist(&rr->views) < 2 : (ima->flag & 
IMA_IS_MULTIVIEW) == 0;
 
                /* error handling */
                if (!rr) {
@@ -1802,11 +1802,6 @@ static bool save_image_doit(bContext *C, SpaceImage 
*sima, wmOperator *op, SaveI
                                BKE_report(op->reports, RPT_ERROR, "Did not 
write, no Multiview Image");
                                goto cleanup;
                        }
-
-                       else if (!is_mono) {
-                               BKE_report(op->reports, RPT_ERROR, "Did not 
write, the image doesn't have multiple views");
-                               goto cleanup;
-                       }
                }
                else {
                        if (imf->imtype != R_IMF_IMTYPE_MULTIVIEW && 
imf->views_format == R_IMF_VIEWS_STEREO_3D) {
@@ -1915,13 +1910,20 @@ static bool save_image_doit(bContext *C, SpaceImage 
*sima, wmOperator *op, SaveI
 
                                for (i = 0; i < 2; i ++) {
                                        ImageUser iuser = sima->iuser;
-                                       int id = 
BLI_findstringindex(&rr->views, names[i], offsetof(RenderView, name));
-
-                                       iuser.pass = get_multiview_pass_id(rr, 
&sima->iuser, id);
-                                       iuser.view = id;
                                        iuser.flag &= ~IMA_SHOW_STEREO;
 
-                                       BKE_image_multilayer_index(rr, &iuser);
+                                       if (rr) {
+                                               int id = 
BLI_findstringindex(&rr->views, names[i], offsetof(RenderView, name));
+                                               iuser.pass = 
get_multiview_pass_id(rr, &sima->iuser, id);
+                                               iuser.view = id;
+
+                                               BKE_image_multilayer_index(rr, 
&iuser);
+                                       }
+                                       else {
+                                               iuser.view = i;
+                                               BKE_image_multiview_index(ima, 
&iuser);
+                                       }
+
                                        ibuf = 
BKE_image_acquire_ibuf(sima->image, &iuser, &lock);
 
                                        if (ibuf == NULL) {

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to