blender: Update to 2.80

Release notes:
https://wiki.blender.org/wiki/Reference/Release_Notes/2.80
This commit is contained in:
nia 2019-09-18 23:40:17 +00:00
parent 14881b6e6a
commit 715a453043
15 changed files with 1920 additions and 1823 deletions

View file

@ -1,13 +1,5 @@
Blender is a suite of tools enabling the creation of and replay of linear and
real-time, interactive 3D content. It offers full functionality for modeling,
rendering, animation, postproduction and game creation and playback with the
singular benefits of cross-platform operability and a download file size of
less than 2.5MB.
Blender is the free and open source 3D creation suite.
Aimed at media professionals and individual creative users, Blender can be
used to create commercials and other broadcast quality linear content, while
the incorporation of a real-time 3D engine allows for the creation of 3D
interactive content for stand-alone playback or integration in a web browser.
Originally developed by the company 'Not a Number' (NaN), Blender now is
continued as 'Free Software', with the sources available under GNU GPL.
It supports the entirety of the 3D pipeline-modeling, rigging, animation,
simulation, rendering, compositing and motion tracking, video editing and
2D animation pipeline.

View file

@ -1,103 +1,79 @@
# $NetBSD: Makefile,v 1.150 2019/08/30 18:44:47 nia Exp $
# $NetBSD: Makefile,v 1.151 2019/09/18 23:40:17 nia Exp $
DISTNAME= blender-2.79b
PKGREVISION= 7
DISTNAME= blender-2.80
CATEGORIES= graphics
MASTER_SITES= http://download.blender.org/source/
MASTER_SITES= https://download.blender.org/source/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://www.blender.org/
COMMENT= Fully integrated 3D graphics creation suite
LICENSE= gnu-gpl-v2
USE_TOOLS+= gmake sed
USE_CMAKE= yes
USE_LANGUAGES= c c++11
CMAKE_OPTS+= -DWITH_OPENAL:BOOL=OFF
CMAKE_OPTS+= -DWITH_MEM_JEMALLOC:BOOL=OFF
CMAKE_OPTS+= -DWITH_SYSTEM_OPENJPEG:BOOL=ON
CMAKE_OPTS+= -DPYVERSSUFFIX:STRING=${PYVERSSUFFIX}
CMAKE_OPTS+= -DPYTHON_VERSION:STRING=${PYVERSSUFFIX}
CMAKE_OPTS+= -DPYTHON_ROOT_DIR:STRING=${PREFIX}
CMAKE_OPTS+= -DPYTHON_INCLUDE_DIR:STRING=${PREFIX}/${PYINC}
CMAKE_OPTS+= -DPYTHON_INCLUDE_CONFIG_DIR:STRING=${PREFIX}/${PYINC}
CMAKE_OPTS+= -DPYTHON_EXECUTABLE:FILEPATH=${PYTHONBIN}
CMAKE_OPTS+= -DWITH_PYTHON_INSTALL:BOOL=OFF
CMAKE_OPTS+= -DCMAKE_INSTALL_PREFIX:PATH=${PREFIX}/share/blender
CMAKE_OPTS+= -DCMAKE_MODULE_PATH:PATH=${_CMAKE_DIR}
CMAKE_OPTS+= -DCMAKE_SKIP_RPATH:BOOL=TRUE
CMAKE_OPTS+= -DCMAKE_INSTALL_LIBDIR:PATH=lib
CMAKE_OPTS+= -DCMAKE_INSTALL_MANDIR:PATH=man
CMAKE_OPTS+= -DFREETYPE_INCLUDE_DIRS:PATH=${BUILDLINK_PREFIX.freetype2}/include/freetype2
CMAKE_OPTS+= -DFREETYPE_LIBRARY:STRING=freetype
CMAKE_OPTS+= -D_OPENGL_LIB_PATH:PATH=${BUILDLINK_PREFIX.MesaLib}/lib
CMAKE_OPTS+= -D_OPENGL_INCLUDE_PATH:PATH=${BUILDLINK_PREFIX.MesaLib}/include
CMAKE_OPTS+= -DOPENGL_glu_LIBRARY:STRING=GLU
USE_TOOLS+= gmake sed
USE_CMAKE= yes
USE_LANGUAGES= c c++11
CMAKE_OPTS+= -DCMAKE_CXX_FLAGS:STRING=${CXXFLAGS:Q}
PYTHON_VERSIONS_INCOMPATIBLE= 27
# C++11
GCC_REQD+= 4.7
DEPENDS+= ${PYPKGPREFIX}-expat>=0:../../textproc/py-expat
CMAKE_OPTS+= -DWITH_PYTHON_INSTALL_NUMPY:BOOL=OFF
CMAKE_OPTS+= -DWITH_PYTHON_INSTALL_REQUESTS:BOOL=OFF
CONFIGURE_DIRS= build
CMAKE_ARG_PATH= ..
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE="Release"
CMAKE_ARGS+= -DWITH_MEM_JEMALLOC=OFF
CMAKE_ARGS+= -DWITH_PYTHON_INSTALL=OFF
CMAKE_ARGS+= -DWITH_INSTALL_PORTABLE=OFF
CMAKE_ARGS+= -DWITH_BULLET=OFF
CMAKE_ARGS+= -DWITH_OPENCOLORIO=ON
CMAKE_ARGS+= -DWITH_FFTW3=ON
CMAKE_ARGS+= -DWITH_SDL=ON
CMAKE_ARGS+= -DWITH_SDL_DYNLOAD=OFF
CMAKE_ARGS+= -DWITH_CODEC_FFMPEG=ON
CMAKE_ARGS+= -DWITH_CODEC_SNDFILE=ON
CMAKE_ARGS+= -DWITH_PYTHON_INSTALL_NUMPY=OFF
CMAKE_ARGS+= -DWITH_PYTHON_INSTALL_REQUESTS=OFF
.include "../../graphics/MesaLib/buildlink3.mk"
.if ${MESALIB_SUPPORTS_EGL} == "yes"
#CMAKE_ARGS+= -DWITH_GL_EGL=ON
.endif
PLIST_SUBST+= BLENDERVER=${PKGVERSION_NOREV:C/[a-z]//}
REPLACE_PYTHON= release/bin/blender-thumbnailer.py
.include "options.mk"
INSTALLATION_DIRS= bin share/blender
PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX}
PLIST_SUBST+= M=${M}
PLIST_SUBST+= BLENDERVER=${PKGVERSION_NOREV:C/[a-z]//}
CHECK_PORTABILITY_SKIP+= doc/python_api/sphinx_doc_gen.sh
.if !empty(MACHINE_PLATFORM:MNetBSD-8.*)
PLIST_SUBST+= NETBSDVER=netbsd8
.elif !empty(MACHINE_PLATFORM:MNetBSD-7.*)
PLIST_SUBST+= NETBSDVER=netbsd7
.else
PLIST_SUBST+= NETBSDVER=netbsd6
.endif
OBJDIR= ../build
CONFIGURE_DIRS= ${OBJDIR}
CMAKE_ARG_PATH= ../${DISTNAME}
PYTHON_VERSIONS_INCOMPATIBLE= 27
pre-configure:
${MKDIR} ${WRKSRC}/${OBJDIR}
${MKDIR} ${WRKSRC}/build
# Install to custom CMAKE_INSTALL_PREFIX.
do-configure:
cd ${WRKSRC}/${OBJDIR} && \
env ${CONFIGURE_ENV} \
${PREFIX}/bin/cmake ${CMAKE_OPTS} ${CMAKE_ARG_PATH}
post-install:
${ECHO} '#! ${SH}' > ${DESTDIR}${PREFIX}/bin/blender
${ECHO} '${PREFIX}/share/blender/blender "$$@"' >> \
${DESTDIR}${PREFIX}/bin/blender
${CHMOD} 755 ${DESTDIR}${PREFIX}/bin/blender
.include "../../devel/SDL/buildlink3.mk"
.include "options.mk"
.include "../../audio/openal-soft/buildlink3.mk"
.include "../../audio/libsndfile/buildlink3.mk"
.include "../../devel/SDL2/buildlink3.mk"
.include "../../devel/boost-libs/buildlink3.mk"
.include "../../devel/gettext-tools/buildlink3.mk"
.include "../../devel/libexecinfo/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../graphics/MesaLib/buildlink3.mk"
.include "../../graphics/freetype2/buildlink3.mk"
.include "../../graphics/glu/buildlink3.mk"
#.include "../../graphics/glew/buildlink3.mk"
.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
.include "../../graphics/openexr/buildlink3.mk"
.include "../../graphics/opencolorio/buildlink3.mk"
.include "../../graphics/openimageio/buildlink3.mk"
.include "../../graphics/openjpeg15/buildlink3.mk"
.include "../../graphics/openjpeg/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../graphics/tiff/buildlink3.mk"
.include "../../math/fftw/buildlink3.mk"
#.include "../../multimedia/ffmpeg010/buildlink3.mk"
.include "../../math/py-numpy/buildlink3.mk"
.include "../../multimedia/ffmpeg4/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"

File diff suppressed because it is too large Load diff

View file

@ -1,17 +1,11 @@
$NetBSD: distinfo,v 1.52 2019/07/03 10:21:08 markd Exp $
$NetBSD: distinfo,v 1.53 2019/09/18 23:40:17 nia Exp $
SHA1 (blender-2.79b.tar.gz) = 4fd307ccfd1d6df5cc1898009712d4b1ae35430f
RMD160 (blender-2.79b.tar.gz) = 787fc2ee718157aa95ffcced4935355d3086ca0d
SHA512 (blender-2.79b.tar.gz) = 2db21ace446168dd683cdb5aad9dec001f8888ae4e9603a04ddb44fb78489ded827deb07e83712b0f1118a0e7bf66f2a5d935dc4ebb3a6703d72672ff414367f
Size (blender-2.79b.tar.gz) = 50204270 bytes
SHA1 (patch-doc_python__api_sphinx__doc__gen.sh) = 5300936c1f675346dbcd76bbd640dd3266065297
SHA1 (patch-extern_glog_src_base_mutex.h) = 34a20264581a093a1686f1d13a6fccbd5cd9e674
SHA1 (patch-extern_glog_src_config.h) = 9666c5d925cfeebeef2f178418c9fc2403831da1
SHA1 (patch-extern_glog_src_config__netbsd.h) = be4727135b8fe1ddbcb5ad52f8230aec51a1a909
SHA1 (patch-extern_glog_src_utilities.h) = c78ef191ab6ec7e65837b88468a7e1b8eaf325d3
SHA1 (patch-intern_cycles_util_util_sseb.h) = 5d5bf8d71a443b63959ec79072e458f1a43cde94
SHA1 (patch-intern_elbeem_intern_solver_main.cpp) = 2dca2892e5f71742785fc34c20738c6b61dbfa8b
SHA1 (patch-intern_guardedalloc_intern_mallocn__intern.h) = c7bc89af1c03b50ae0bd8af5aacc25cd82dfcbfc
SHA1 (patch-intern_itasc_kdl_tree.hpp) = b0c6640853ace08c07b443ff8f18290367f1d8da
SHA1 (patch-source_blender_imbuf_intern_dds_DirectDrawSurface.cpp) = b38f61900aa30b02479c7397062d71d295932847
SHA1 (patch-source_blender_python_intern_bpy_rna.c) = e287c41e0196bfa3650bfaa5d4263f5862467b80
SHA1 (blender-2.80.tar.gz) = 91f9f52863cef408e60f1272e95d84316253234a
RMD160 (blender-2.80.tar.gz) = 7496e357ca5476127970b524dd0b8d1c29c96321
SHA512 (blender-2.80.tar.gz) = b70bbfc81b56ac9570e057e259681029416caf5c7279513d9b8d9f47507348c9ca90e2972b9dc77da85aa242afe07bb8dff2eee94ea4582cc5209dfdce38310e
Size (blender-2.80.tar.gz) = 54216321 bytes
SHA1 (patch-extern_glog_src_base_mutex.h) = 5fceceefe83400967a59080eeb930d0f3a4b8e88
SHA1 (patch-extern_glog_src_config.h) = e445c911d4ebb1f7e378c3c46911b55f77ba5608
SHA1 (patch-extern_glog_src_config__netbsd.h) = f96dd9d6afed38466e5765c604efebcd78537a54
SHA1 (patch-intern_guardedalloc_intern_mallocn__intern.h) = 81fb0fd1b34d550168a4bdf63f28b4e199717921
SHA1 (patch-source_blender_blenloader_intern_readfile.h) = 4d4e27da291300d32d79dcd7adeaefff6e14929d

View file

@ -1,37 +1,14 @@
# $NetBSD: options.mk,v 1.7 2019/07/01 12:08:51 nia Exp $
# $NetBSD: options.mk,v 1.8 2019/09/18 23:40:17 nia Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.blender
PKG_SUPPORTED_OPTIONS=
# disabled these options; they ought to be re-instantiated one day
.if 0
PKG_SUPPORTED_OPTIONS+= blender-exppython ogg openal vorbis
.endif
PKG_OPTIONS_VAR= PKG_OPTIONS.blender
PKG_SUPPORTED_OPTIONS= jack
.include "../../mk/bsd.options.mk"
.if !empty(PKG_OPTIONS:Mexppython)
CONFIGURE_ARGS+= --enable-exppython
.if !empty(PKG_OPTIONS:Mjack)
CMAKE_ARGS+= -DWITH_JACK=ON
CMAKE_ARGS+= -DWITH_JACK_DYNLOAD=OFF
.include "../../audio/jack/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-exppython
.endif
.if !empty(PKG_OPTIONS:Mogg)
CONFIGURE_ARGS+= --with-ogg=${PREFIX}
.include "../../multimedia/libogg/buildlink3.mk"
.else
CONFIGURE_ARGS+= --without-ogg --disable-oggtest
.endif
.if !empty(PKG_OPTIONS:Mopenal)
CONFIGURE_ARGS+= --enable-openal
.include "../../audio/openal-soft/buildlink3.mk"
.else
CMAKE_OPTS+= -DWITH_OPENAL:BOOL=OFF
.endif
.if !empty(PKG_OPTIONS:Mvorbis)
CONFIGURE_ARGS+= --with-vorbis=${PREFIX}
.include "../../audio/libvorbis/buildlink3.mk"
.else
CONFIGURE_ARGS+= --without-vorbis --disable-vorbistest
CMAKE_ARGS+= -DWITH_JACK=OFF
.endif

View file

@ -1,4 +1,6 @@
$NetBSD: patch-extern_glog_src_base_mutex.h,v 1.1 2016/08/15 19:26:18 ryoon Exp $
$NetBSD: patch-extern_glog_src_base_mutex.h,v 1.2 2019/09/18 23:40:17 nia Exp $
Support NetBSD.
--- extern/glog/src/base/mutex.h.orig 2016-03-23 08:49:49.000000000 +0000
+++ extern/glog/src/base/mutex.h

View file

@ -1,4 +1,6 @@
$NetBSD: patch-extern_glog_src_config.h,v 1.1 2016/08/15 19:26:18 ryoon Exp $
$NetBSD: patch-extern_glog_src_config.h,v 1.2 2019/09/18 23:40:17 nia Exp $
Support NetBSD.
--- extern/glog/src/config.h.orig 2016-03-23 08:49:49.000000000 +0000
+++ extern/glog/src/config.h

View file

@ -1,4 +1,6 @@
$NetBSD: patch-extern_glog_src_config__netbsd.h,v 1.1 2016/08/15 19:26:18 ryoon Exp $
$NetBSD: patch-extern_glog_src_config__netbsd.h,v 1.2 2019/09/18 23:40:17 nia Exp $
Support NetBSD.
--- extern/glog/src/config_netbsd.h.orig 2016-07-28 08:46:50.262373648 +0000
+++ extern/glog/src/config_netbsd.h

View file

@ -1,16 +0,0 @@
$NetBSD: patch-intern_cycles_util_util_sseb.h,v 1.1 2019/03/27 11:05:57 markd Exp $
Fix bad register cast in sseb
commit be587d76efff6610f3b6d65cf42f1ee31ec3bdee
--- intern/cycles/util/util_sseb.h.orig 2018-03-23 15:22:25.000000000 +0000
+++ intern/cycles/util/util_sseb.h
@@ -116,7 +116,7 @@ __forceinline const sseb unpacklo( const
__forceinline const sseb unpackhi( const sseb& a, const sseb& b ) { return _mm_unpackhi_ps(a, b); }
template<size_t i0, size_t i1, size_t i2, size_t i3> __forceinline const sseb shuffle( const sseb& a ) {
- return _mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0));
+ return _mm_castsi128_ps(_mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0)));
}
template<> __forceinline const sseb shuffle<0, 1, 0, 1>( const sseb& a ) {

View file

@ -1,57 +0,0 @@
$NetBSD: patch-intern_elbeem_intern_solver_main.cpp,v 1.1 2019/07/03 10:21:08 markd Exp $
From b61af886ca3fb760831c96b641968c78ea242614 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= <zebob.m@gmail.com>
Date: Wed, 3 Apr 2019 01:36:52 +0200
Subject: [PATCH] Fix for GCC9 new OpenMP data sharing
GCC 9 started implementing the OpenMP 4.0 and later behavior. When not using
default clause or when using default(shared), this makes no difference, but
if using default(none), previously the choice was not specify the const
qualified variables on the construct at all, or specify in firstprivate
clause. In GCC 9 as well as for OpenMP 4.0 compliance, those variables need
to be specified on constructs in which they are used, either in shared or
in firstprivate clause. Specifying them in firstprivate clause is one way to
achieve compatibility with both older GCC versions and GCC 9,
another option is to drop the default(none) clause.
This patch thus drops the default(none) clause.
See https://gcc.gnu.org/gcc-9/porting_to.html#ompdatasharing
Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
diff --git a/intern/elbeem/intern/solver_main.cpp b/intern/elbeem/intern/solver_main.cpp
index 9fdefc7cc2a..97b4c109e1f 100644
--- intern/elbeem/intern/solver_main.cpp
+++ intern/elbeem/intern/solver_main.cpp
@@ -381,7 +381,7 @@ LbmFsgrSolver::mainLoop(const int lev)
GRID_REGION_INIT();
#if PARALLEL==1
const int gDebugLevel = ::gDebugLevel;
-#pragma omp parallel default(none) num_threads(mNumOMPThreads) \
+#pragma omp parallel num_threads(mNumOMPThreads) \
reduction(+: \
calcCurrentMass,calcCurrentVolume, \
calcCellsFilled,calcCellsEmptied, \
@@ -1126,7 +1126,7 @@ LbmFsgrSolver::preinitGrids()
GRID_REGION_INIT();
#if PARALLEL==1
const int gDebugLevel = ::gDebugLevel;
-#pragma omp parallel default(none) num_threads(mNumOMPThreads) \
+#pragma omp parallel num_threads(mNumOMPThreads) \
reduction(+: \
calcCurrentMass,calcCurrentVolume, \
calcCellsFilled,calcCellsEmptied, \
@@ -1164,7 +1164,7 @@ LbmFsgrSolver::standingFluidPreinit()
GRID_REGION_INIT();
#if PARALLEL==1
const int gDebugLevel = ::gDebugLevel;
-#pragma omp parallel default(none) num_threads(mNumOMPThreads) \
+#pragma omp parallel num_threads(mNumOMPThreads) \
reduction(+: \
calcCurrentMass,calcCurrentVolume, \
calcCellsFilled,calcCellsEmptied, \
--
2.20.1

View file

@ -1,13 +1,15 @@
$NetBSD: patch-intern_guardedalloc_intern_mallocn__intern.h,v 1.2 2015/12/19 20:52:12 markd Exp $
$NetBSD: patch-intern_guardedalloc_intern_mallocn__intern.h,v 1.3 2019/09/18 23:40:17 nia Exp $
--- intern/guardedalloc/intern/mallocn_intern.h.orig 2015-10-07 00:09:33.000000000 +0000
Support NetBSD.
--- intern/guardedalloc/intern/mallocn_intern.h.orig 2019-07-24 07:41:39.000000000 +0000
+++ intern/guardedalloc/intern/mallocn_intern.h
@@ -63,6 +63,8 @@
#elif defined(WIN32)
@@ -55,6 +55,8 @@
#elif defined(__HAIKU__)
# include <malloc.h>
# define malloc_usable_size _msize
size_t malloc_usable_size(void *ptr);
+#elif defined(__NetBSD__)
+# define malloc_usable_size(x) 0
+# define malloc_usable_size(p) (0)
#else
# pragma message "We don't know how to use malloc_usable_size on your platform"
# undef USE_MALLOC_USABLE_SIZE

View file

@ -1,16 +0,0 @@
$NetBSD: patch-intern_itasc_kdl_tree.hpp,v 1.3 2019/03/27 11:05:57 markd Exp $
Added extra "const" to satisfy the strict clang version in Xcode 9
commit ee30a4381f8989ed9f39b4baae9f74e45c9dcdc9
--- intern/itasc/kdl/tree.hpp.orig 2018-03-23 15:22:25.000000000 +0000
+++ intern/itasc/kdl/tree.hpp
@@ -34,7 +34,7 @@ namespace KDL
//Forward declaration
class TreeElement;
// Eigen allocator is needed for alignment of Eigen data types
- typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<std::string, TreeElement> > > SegmentMap;
+ typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<const std::string, TreeElement> > > SegmentMap;
class TreeElement
{

View file

@ -0,0 +1,15 @@
$NetBSD: patch-source_blender_blenloader_intern_readfile.h,v 1.1 2019/09/18 23:40:17 nia Exp $
NetBSD does not have off64_t.
--- source/blender/blenloader/intern/readfile.h.orig 2019-07-24 07:41:39.000000000 +0000
+++ source/blender/blenloader/intern/readfile.h
@@ -53,7 +53,7 @@ enum eFileDataFlag {
# pragma GCC poison off_t
#endif
-#if defined(_MSC_VER) || defined(__APPLE__) || defined(__HAIKU__)
+#if defined(_MSC_VER) || defined(__APPLE__) || defined(__HAIKU__) || defined(__NetBSD__)
typedef int64_t off64_t;
#endif

View file

@ -1,19 +0,0 @@
$NetBSD: patch-source_blender_imbuf_intern_dds_DirectDrawSurface.cpp,v 1.1 2016/07/16 03:45:19 markd Exp $
--- source/blender/imbuf/intern/dds/DirectDrawSurface.cpp.orig 2015-11-04 10:02:15.000000000 +0000
+++ source/blender/imbuf/intern/dds/DirectDrawSurface.cpp
@@ -55,12 +55,13 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
+// Include stdlib first to restore undefined min/max behavior w/ GCC 6
+#include <stdlib.h> // malloc
#include <DirectDrawSurface.h>
#include <BlockDXT.h>
#include <PixelFormat.h>
#include <stdio.h> // printf
-#include <stdlib.h> // malloc
#include <math.h> // sqrt
#include <sys/types.h>

View file

@ -1,34 +0,0 @@
$NetBSD: patch-source_blender_python_intern_bpy_rna.c,v 1.1 2019/03/27 11:05:57 markd Exp $
From 1db47a2ccd1e68994bf8140eba6cc2a26a2bc91f Mon Sep 17 00:00:00 2001
From: Campbell Barton <ideasman42@gmail.com>
Date: Thu, 12 Jul 2018 08:28:06 +0200
Subject: [PATCH] Fix PyRNA class registration w/ Python 3.7
In Python3.7 this now raises an error.
--- source/blender/python/intern/bpy_rna.c.orig 2018-03-23 15:22:25.000000000 +0000
+++ source/blender/python/intern/bpy_rna.c
@@ -7385,10 +7385,12 @@ static int bpy_class_validate_recursive(
if (!(flag & PROP_REGISTER))
continue;
+ /* TODO(campbell): Use Python3.7x _PyObject_LookupAttr(), also in the macro below. */
identifier = RNA_property_identifier(prop);
item = PyObject_GetAttrString(py_class, identifier);
if (item == NULL) {
+ PyErr_Clear();
/* Sneaky workaround to use the class name as the bl_idname */
#define BPY_REPLACEMENT_STRING(rna_attr, py_attr) \
@@ -7404,6 +7406,9 @@ static int bpy_class_validate_recursive(
} \
Py_DECREF(item); \
} \
+ else { \
+ PyErr_Clear(); \
+ } \
} /* intentionally allow else here */
if (false) {} /* needed for macro */