Page Menu
Home
Search
Configure Global Search
Log In
Files
F24013
fix_37261_01.diff
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Authored By
Lukas Tönne (lukastoenne)
Nov 13 2013, 5:16 PM
Size
4 KB
Subscribers
None
fix_37261_01.diff
View Options
Index: source/blender/editors/render/render_intern.h
===================================================================
--- source/blender/editors/render/render_intern.h (revision 61008)
+++ source/blender/editors/render/render_intern.h (working copy)
@@ -90,7 +90,7 @@
void image_buffer_rect_update(struct Scene *scene, struct RenderResult *rr, struct ImBuf *ibuf, volatile struct rcti *renrect);
/* render_view.c */
-void render_view_open(struct bContext *C, int mx, int my);
+void render_view_open(struct bContext *C, struct Scene *render_scene, int mx, int my);
void RENDER_OT_view_show(struct wmOperatorType *ot);
void RENDER_OT_view_cancel(struct wmOperatorType *ot);
Index: source/blender/editors/render/render_internal.c
===================================================================
--- source/blender/editors/render/render_internal.c (revision 61008)
+++ source/blender/editors/render/render_internal.c (working copy)
@@ -645,13 +645,13 @@
// get view3d layer, local layer, make this nice api call to render
// store spare
+ /* custom scene and single layer re-render */
+ screen_render_scene_layer_set(op, mainp, &scene, &srl);
+
/* ensure at least 1 area shows result */
- render_view_open(C, event->x, event->y);
+ render_view_open(C, scene, event->x, event->y);
jobflag = WM_JOB_EXCL_RENDER | WM_JOB_PRIORITY | WM_JOB_PROGRESS;
-
- /* custom scene and single layer re-render */
- screen_render_scene_layer_set(op, mainp, &scene, &srl);
if (RNA_struct_property_is_set(op->ptr, "layer"))
jobflag |= WM_JOB_SUSPEND;
Index: source/blender/editors/render/render_opengl.c
===================================================================
--- source/blender/editors/render/render_opengl.c (revision 61008)
+++ source/blender/editors/render/render_opengl.c (working copy)
@@ -724,7 +724,7 @@
}
oglrender = op->customdata;
- render_view_open(C, event->x, event->y);
+ render_view_open(C, CTX_data_scene(C), event->x, event->y);
/* view may be changed above (R_OUTPUT_WINDOW) */
oglrender->win = CTX_wm_window(C);
Index: source/blender/editors/render/render_view.c
===================================================================
--- source/blender/editors/render/render_view.c (revision 61008)
+++ source/blender/editors/render/render_view.c (working copy)
@@ -132,7 +132,7 @@
/********************** open image editor for render *************************/
/* new window uses x,y to set position */
-void render_view_open(bContext *C, int mx, int my)
+void render_view_open(bContext *C, Scene *render_scene, int mx, int my)
{
wmWindow *win = CTX_wm_window(C);
Scene *scene = CTX_data_scene(C);
@@ -147,8 +147,8 @@
rcti rect;
int sizex, sizey;
- sizex = 10 + (scene->r.xsch * scene->r.size) / 100;
- sizey = 40 + (scene->r.ysch * scene->r.size) / 100;
+ sizex = 10 + (render_scene->r.xsch * render_scene->r.size) / 100;
+ sizey = 40 + (render_scene->r.ysch * render_scene->r.size) / 100;
/* arbitrary... miniature image window views don't make much sense */
if (sizex < 320) sizex = 320;
@@ -210,7 +210,8 @@
/* get the correct image, and scale it */
sima->image = BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result");
-
+ /* set image user scene for correct render result output */
+ sima->iuser.scene = render_scene;
/* if we're rendering to full screen, set appropriate hints on image editor
* so it can restore properly on pressing esc */
@@ -280,6 +281,7 @@
static int render_view_show_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *event)
{
wmWindow *wincur = CTX_wm_window(C);
+ Scene *scene = CTX_data_scene(C);
/* test if we have currently a temp screen active */
if (wincur->screen->temp) {
@@ -287,7 +289,7 @@
}
else {
wmWindow *win, *winshow;
- ScrArea *sa = find_area_showing_r_result(C, CTX_data_scene(C), &winshow);
+ ScrArea *sa = find_area_showing_r_result(C, scene, &winshow);
/* is there another window on current scene showing result? */
for (win = CTX_wm_manager(C)->windows.first; win; win = win->next) {
@@ -326,7 +328,7 @@
}
}
else {
- render_view_open(C, event->x, event->y);
+ render_view_open(C, scene, event->x, event->y);
}
}
Index: source/blender/editors/space_image/space_image.c
===================================================================
--- source/blender/editors/space_image/space_image.c (revision 61008)
+++ source/blender/editors/space_image/space_image.c (working copy)
@@ -653,7 +653,8 @@
glClear(GL_COLOR_BUFFER_BIT);
/* put scene context variable in iuser */
- sima->iuser.scene = scene;
+ if (sima->image->type != IMA_TYPE_R_RESULT || sima->iuser.scene == NULL)
+ sima->iuser.scene = scene;
/* we set view2d from own zoom and offset each time */
image_main_area_set_view2d(sima, ar);
File Metadata
Details
Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
cb/c4/16196b6be70cfc8a0d93c90989c9
Event Timeline
Log In to Comment