From b57a89f06259eadee68c3b8e340dc244aa73ac9f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 11 Oct 2019 13:45:16 +0200 Subject: [PATCH 1/3] Buildbot: don't add branch prefix when building release branches --- build_files/buildbot/buildbot_utils.py | 2 ++ build_files/buildbot/slave_pack.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/build_files/buildbot/buildbot_utils.py b/build_files/buildbot/buildbot_utils.py index 6891b91aa1e..eded6646671 100644 --- a/build_files/buildbot/buildbot_utils.py +++ b/build_files/buildbot/buildbot_utils.py @@ -20,6 +20,7 @@ import argparse import os +import re import subprocess import sys @@ -27,6 +28,7 @@ class Builder: def __init__(self, name, branch): self.name = name self.branch = branch + self.is_release_branch = re.match("^blender-v(.*)-release$", branch) is not None # Buildbot runs from build/ directory self.blender_dir = os.path.abspath(os.path.join('..', 'blender.git')) diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py index 9e7a157eb99..5bef2b81739 100644 --- a/build_files/buildbot/slave_pack.py +++ b/build_files/buildbot/slave_pack.py @@ -32,8 +32,9 @@ def get_package_name(builder, platform=None): package_name = 'blender-' + info.full_version if platform: package_name += '-' + platform - if builder.branch != 'master' and info.is_development_build: - package_name = builder.branch + "-" + package_name + if not (builder.branch == 'master' or builder.is_release_branch): + if info.is_development_build: + package_name = builder.branch + "-" + package_name return package_name @@ -47,6 +48,7 @@ def create_buildbot_upload_zip(builder, package_files): try: z = zipfile.ZipFile(buildbot_upload_zip, "w", compression=zipfile.ZIP_STORED) for filepath, filename in package_files: + print("Packaged", filename) z.write(filepath, arcname=filename) z.close() except Exception as ex: From 1e5e65fa9f142440689c474dd6d924ab884c7efb Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 11 Oct 2019 16:18:37 +0200 Subject: [PATCH 2/3] Fix T70695: Scene crashes Blender on open. Note that this commit fixes the crash itself, but actual issue is *how* that situation could happen (having insert override operation with local 'source' overriding data-block with an empty bone constraints stack...). --- source/blender/makesrna/intern/rna_pose.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/blender/makesrna/intern/rna_pose.c b/source/blender/makesrna/intern/rna_pose.c index 0f8f8d39c41..8c4b7dd52d9 100644 --- a/source/blender/makesrna/intern/rna_pose.c +++ b/source/blender/makesrna/intern/rna_pose.c @@ -648,7 +648,7 @@ bool rna_PoseChannel_constraints_override_apply(Main *UNUSED(bmain), /* Remember that insertion operations are defined and stored in correct order, which means that * even if we insert several items in a row, we always insert first one, then second one, etc. - * So we should always find 'anchor' constraint in both _src *and* _dst> */ + * So we should always find 'anchor' constraint in both _src *and* _dst */ bConstraint *con_anchor = NULL; if (opop->subitem_local_name && opop->subitem_local_name[0]) { con_anchor = BLI_findstring( @@ -669,7 +669,11 @@ bool rna_PoseChannel_constraints_override_apply(Main *UNUSED(bmain), } con_src = con_src ? con_src->next : pchan_src->constraints.first; - BLI_assert(con_src != NULL); + if (con_src == NULL) { + printf("%s: Could not find constraint to insert, doing nothing...\n", __func__); + BLI_assert(0); + return false; + } bConstraint *con_dst = BKE_constraint_duplicate_ex(con_src, 0, true); From 1c2a20c84d46d30bc429da87daf84d75162f9c9b Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 11 Oct 2019 17:13:11 +0200 Subject: [PATCH 3/3] Fix T70714: Crash when using OBJECT_OT_material_slot_assign op without UI. There is no guarantee we can get any valid UI from the context, and that operator can work without it. --- source/blender/editors/render/render_shading.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 9f13431f25a..7970d491877 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -103,15 +103,17 @@ static Object **object_array_for_shading(bContext *C, uint *r_objects_len) ScrArea *sa = CTX_wm_area(C); SpaceProperties *sbuts = NULL; View3D *v3d = NULL; - if (sa->spacetype == SPACE_PROPERTIES) { - sbuts = sa->spacedata.first; - } - else if (sa->spacetype == SPACE_VIEW3D) { - v3d = sa->spacedata.first; + if (sa != NULL) { + if (sa->spacetype == SPACE_PROPERTIES) { + sbuts = sa->spacedata.first; + } + else if (sa->spacetype == SPACE_VIEW3D) { + v3d = sa->spacedata.first; + } } Object **objects; - if (sbuts && sbuts->pinid && GS(sbuts->pinid->name) == ID_OB) { + if (sbuts != NULL && sbuts->pinid && GS(sbuts->pinid->name) == ID_OB) { objects = MEM_mallocN(sizeof(*objects), __func__); objects[0] = (Object *)sbuts->pinid; *r_objects_len = 1;