diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2013-02-16 22:38:03 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2013-02-16 22:38:03 +0400 |
commit | 92436c94d3adbbfc285bd7b3041db36e66dae5d5 (patch) | |
tree | 2083c8ad4fa810a781e9631161aa88b12008453d /source/blender/editors/render | |
parent | 90ed5ea4ea278b4aadf9187e4e2b92ef3221001b (diff) | |
parent | fda8927d01ba719963154a56b45952ee541a869d (diff) |
Merged changes in the trunk up to revision 54594.
Diffstat (limited to 'source/blender/editors/render')
-rw-r--r-- | source/blender/editors/render/render_preview.c | 11 | ||||
-rw-r--r-- | source/blender/editors/render/render_view.c | 5 |
2 files changed, 13 insertions, 3 deletions
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c index 994c7275ecd..dfc80e4cf51 100644 --- a/source/blender/editors/render/render_preview.c +++ b/source/blender/editors/render/render_preview.c @@ -360,7 +360,11 @@ static Scene *preview_prepare_scene(Scene *scene, ID *id, int id_type, ShaderPre } } } - + else { + /* use current scene world to light sphere */ + if (mat->pr_type == MA_SPHERE_A) + sce->world = scene->world; + } if (sp->pr_method == PR_ICON_RENDER) { if (mat->material_type == MA_TYPE_HALO) { @@ -926,8 +930,10 @@ static void icon_preview_startjob(void *customdata, short *stop, short *do_updat * already there. Very expensive for large images. Need to find a way to * only get existing ibuf */ ibuf = BKE_image_acquire_ibuf(ima, &iuser, NULL); - if (ibuf == NULL || ibuf->rect == NULL) + if (ibuf == NULL || ibuf->rect == NULL) { + BKE_image_release_ibuf(ima, ibuf, NULL); return; + } icon_copy_rect(ibuf, sp->sizex, sp->sizey, sp->pr_rect); @@ -1019,6 +1025,7 @@ static void icon_preview_startjob_all_sizes(void *customdata, short *stop, short sp->pr_method = PR_ICON_RENDER; sp->pr_rect = cur_size->rect; sp->id = ip->id; + sp->pr_main = pr_main; common_preview_startjob(sp, stop, do_update, progress); shader_preview_free(sp); diff --git a/source/blender/editors/render/render_view.c b/source/blender/editors/render/render_view.c index f15f7b539f3..8b2ac740e47 100644 --- a/source/blender/editors/render/render_view.c +++ b/source/blender/editors/render/render_view.c @@ -289,7 +289,10 @@ static int render_view_show_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent /* is there another window showing result? */ for (win = CTX_wm_manager(C)->windows.first; win; win = win->next) { - if (win->screen->temp || (win == winshow && winshow != wincur)) { + bScreen *sc = win->screen; + if ((sc->temp && ((ScrArea *)sc->areabase.first)->spacetype == SPACE_IMAGE) || + (win == winshow && winshow != wincur)) + { wm_window_raise(win); return OPERATOR_FINISHED; } |