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:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-04-30 12:52:59 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-04-30 12:52:59 +0300
commit4bcc7a2ec6bf6937778a2227c7f938c50a0fafe5 (patch)
treee81545aacc26a78077f116c864fdf84062c35288 /source/blender
parent41d817f15da2bfb0423612d6ba1d464e8a983bb9 (diff)
Fix T44556: Crash on the World Properties > Preview
Issue was caused by de-referencing NULL pointer, rres did not have any views because nothing was rendered yet. Needs more closer look about where else such a de-reference could happen.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/render/render_preview.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 2c353c13334..b9aa6ac6e72 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -532,6 +532,7 @@ static bool ed_preview_draw_rect(ScrArea *sa, int split, int first, rcti *rect,
int newx = BLI_rcti_size_x(rect);
int newy = BLI_rcti_size_y(rect);
bool ok = false;
+ bool has_rectf = false;
if (!split || first) sprintf(name, "Preview %p", (void *)sa);
else sprintf(name, "SecondPreview %p", (void *)sa);
@@ -551,11 +552,14 @@ static bool ed_preview_draw_rect(ScrArea *sa, int split, int first, rcti *rect,
re = RE_GetRender(name);
RE_AcquireResultImageViews(re, &rres);
+ /* TODO(sergey): Is there a cleaner way to do this? */
+ if (!BLI_listbase_is_empty(&rres.views)) {
+ /* material preview only needs monoscopy (view 0) */
+ rv = RE_RenderViewGetById(&rres, 0);
+ has_rectf = rv->rectf != NULL;
+ }
- /* material preview only needs monoscopy (view 0) */
- rv = RE_RenderViewGetById(&rres, 0);
-
- if (rv->rectf) {
+ if (has_rectf) {
if (ABS(rres.rectx - newx) < 2 && ABS(rres.recty - newy) < 2) {