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:
authorBastien Montagne <montagne29@wanadoo.fr>2020-01-28 18:10:37 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2020-01-28 18:10:37 +0300
commit38f3a85649088119436a89161fadf7e217b8b040 (patch)
tree5a6c1f69242718145afb6cfa0929839fc1c1e750 /source/blender
parent7038a3a774cab845300e32745acb4439eb913b55 (diff)
parent864cb7f376816ccd05e6e143dab668329b070faa (diff)
Merge branch 'blender-v2.82-release'
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenloader/intern/readfile.c10
-rw-r--r--source/blender/editors/interface/interface_templates.c10
-rw-r--r--source/blender/makesrna/intern/rna_color.c3
-rw-r--r--source/blender/render/intern/source/render_result.c4
4 files changed, 22 insertions, 5 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index d9d89592e85..5a834f31528 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -9318,6 +9318,9 @@ static BHead *read_libblock(FileData *fd,
ID *id;
ListBase *lb;
const char *allocname;
+
+ /* XXX Very weakly handled currently, see comment at the end of this function before trying to
+ * use it for anything new. */
bool wrong_id = false;
/* In undo case, most libs and linked data should be kept as is from previous state
@@ -9573,7 +9576,14 @@ static BHead *read_libblock(FileData *fd,
oldnewmap_clear(fd->datamap);
if (wrong_id) {
+ /* XXX This is probably working OK currently given the very limited scope of that flag.
+ * However, it is absolutely **not** handled correctly: it is freeing an ID pointer that has
+ * been added to the fd->libmap mapping, which in theory could lead to nice crashes...
+ * This should be properly solved at some point. */
BKE_id_free(main, id);
+ if (r_id != NULL) {
+ *r_id = NULL;
+ }
}
return (bhead);
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
index c43b7385a36..4c86e3252ed 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -72,6 +72,7 @@
#include "BKE_particle.h"
#include "BKE_curveprofile.h"
#include "BKE_report.h"
+#include "BKE_scene.h"
#include "BKE_screen.h"
#include "BKE_shader_fx.h"
@@ -2845,8 +2846,13 @@ void uiTemplatePreview(uiLayout *layout,
col = uiLayoutColumn(row, true);
uiLayoutSetScaleX(col, 1.5);
uiItemR(col, &material_ptr, "preview_render_type", UI_ITEM_R_EXPAND, "", ICON_NONE);
- uiItemS(col);
- uiItemR(col, &material_ptr, "use_preview_world", 0, "", ICON_WORLD);
+
+ /* EEVEE preview file has baked lighting so use_preview_world has no effect,
+ * just hide the option until this feature is supported. */
+ if (!BKE_scene_uses_blender_eevee(CTX_data_scene(C))) {
+ uiItemS(col);
+ uiItemR(col, &material_ptr, "use_preview_world", 0, "", ICON_WORLD);
+ }
}
if (pr_texture) {
diff --git a/source/blender/makesrna/intern/rna_color.c b/source/blender/makesrna/intern/rna_color.c
index 679ccc9725b..215ccc78bc2 100644
--- a/source/blender/makesrna/intern/rna_color.c
+++ b/source/blender/makesrna/intern/rna_color.c
@@ -329,10 +329,11 @@ static void rna_ColorRamp_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *
WM_main_add_notifier(NC_LINESTYLE, linestyle);
break;
}
+ /* ColorRamp for particle display is owned by the object (see T54422) */
+ case ID_OB:
case ID_PA: {
ParticleSettings *part = (ParticleSettings *)ptr->owner_id;
- DEG_id_tag_update(&part->id, ID_RECALC_GEOMETRY | ID_RECALC_PSYS_REDO);
WM_main_add_notifier(NC_OBJECT | ND_PARTICLE | NA_EDITED, part);
}
default:
diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c
index b5c2db96c47..0bf03347b80 100644
--- a/source/blender/render/intern/source/render_result.c
+++ b/source/blender/render/intern/source/render_result.c
@@ -1547,10 +1547,10 @@ void render_result_rect_get_pixels(RenderResult *rr,
{
RenderView *rv = RE_RenderViewGetById(rr, view_id);
- if (rv->rect32) {
+ if (rv && rv->rect32) {
memcpy(rect, rv->rect32, sizeof(int) * rr->rectx * rr->recty);
}
- else if (rv->rectf) {
+ else if (rv && rv->rectf) {
IMB_display_buffer_transform_apply((unsigned char *)rect,
rv->rectf,
rr->rectx,