Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-04-26 17:47:57 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-04-26 17:47:57 +0400
commitf0fb5db329ff7588b3545a0b5f6c50a8c9c08127 (patch)
tree40d2cb3c8435256cce6319afe08b8109e4249106 /source/blender/editors/render
parenteda757d4c8df59ae75de54506e810a3abb783107 (diff)
Fix preview render not starting in some cases, now starts the preview rendering
job if no render result is found and no preview render job is already running.
Diffstat (limited to 'source/blender/editors/render')
-rw-r--r--source/blender/editors/render/render_preview.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index e8c578cb685..2e88c243df6 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -572,9 +572,6 @@ static int ed_preview_draw_rect(ScrArea *sa, int split, int first, rcti *rect, r
}
}
}
- else {
- ok = 1;
- }
RE_ReleaseResultImage(re);
@@ -584,6 +581,7 @@ static int ed_preview_draw_rect(ScrArea *sa, int split, int first, rcti *rect, r
void ED_preview_draw(const bContext *C, void *idp, void *parentp, void *slotp, rcti *rect)
{
if (idp) {
+ wmWindowManager *wm = CTX_wm_manager(C);
ScrArea *sa = CTX_wm_area(C);
ID *id = (ID *)idp;
ID *parent = (ID *)parentp;
@@ -609,13 +607,11 @@ void ED_preview_draw(const bContext *C, void *idp, void *parentp, void *slotp, r
if (ok)
*rect = newrect;
- /* check for spacetype... */
- if (sbuts->spacetype == SPACE_BUTS && sbuts->preview) {
+ /* start a new preview render job if signalled through sbuts->preview,
+ * or if no render result was found and no preview render job is running */
+ if ((sbuts->spacetype == SPACE_BUTS && sbuts->preview) ||
+ (!ok && !WM_jobs_test(wm, sa, WM_JOB_TYPE_RENDER_PREVIEW))) {
sbuts->preview = 0;
- ok = 0;
- }
-
- if (ok == 0) {
ED_preview_shader_job(C, sa, id, parent, slot, newx, newy, PR_BUTS_RENDER);
}
}