blender/build_files/build_environment/patches/materialx_2866.diff
Jonas Holzman d5d927b670 Deps: Library changes for Blender 5.2 LTS
### New libraries
- meshoptimizer v1.0
- tomli-w 1.2.0
- Tracy 0.13.1

### Updates of existing libraries
- OpenShadingLanguage 1.15.3.0
- OpenPGL 0.7.1
- ThorVG 1.0.3
- OpenUSD 26.03
- OpenImageIO 3.1.13.1
- libpng 1.6.58
- DPC++ 6.3.0
- Embree 4.4.1
- Intel Graphics Compiler v2.30.1
- Manifold 3.4.1
- x265 4.1
- ROCm / HIP 7.1.1 / 7.1.51803
- libexpat 2.7.5
- libtiff 4.7.1
- mesa 25.3.6
- OpenEXR 3.4.10
- OpenSSL 3.5.6
- Python 3.13.13
- sqlite 3.51.3
- libxml2 2.14.6
- ffmpeg 8.1
- Draco 1.5.7
- SDL 3.4.2

Library changes tracking issue ref: #153974

Co-authored-by: Sebastian Parborg <sebastian@blender.org>
Co-authored-by: Ray Molenkamp <github@lazydodo.com>
Co-authored-by: Sahar A. Kashi <salipour@noreply.localhost>
Co-authored-by: Nikita Sirgienko <nikita.sirgienko@intel.com>
Co-authored-by: Bart van der Braak <bart@blender.org>
Co-authored-by: Thomas Dinges <thomas@blender.org>
Co-authored-by: Alaska <Alaskayou01@gmail.com>

Pull Request: https://projects.blender.org/blender/blender/pulls/157180
2026-05-11 19:04:45 +02:00

32 lines
1.5 KiB
Diff

From b96760b242a946f619525b13d7d389ddb8922ca1 Mon Sep 17 00:00:00 2001
From: Mark Final <mark.final@foundry.com>
Date: Wed, 15 Apr 2026 10:03:03 +0100
Subject: [PATCH] Fix crash on exit with a debug Python
Under the hood (in both before and after code), this statement is adding the Exception instance as an attribute to the module.
Other examples found using the pattern, suggesting the static variable scope was not needed:
- py::register_exception<mx::ExceptionOrphanedElement>(mod, "ExceptionOrphanedElement");
- py::register_exception<mx::ExceptionFoundCycle>(mod, "ExceptionFoundCycle");
- py::register_exception<mx::ExceptionParseError>(mod, "ExceptionParseError");
- py::register_exception<mx::ExceptionFileMissing>(mod, "ExceptionFileMissing");
Fixes https://github.com/AcademySoftwareFoundation/MaterialX/issues/2749
---
source/PyMaterialX/PyMaterialXCore/PyException.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/PyMaterialX/PyMaterialXCore/PyException.cpp b/source/PyMaterialX/PyMaterialXCore/PyException.cpp
index 6f953ffc06..222bedd93a 100644
--- a/source/PyMaterialX/PyMaterialXCore/PyException.cpp
+++ b/source/PyMaterialX/PyMaterialXCore/PyException.cpp
@@ -12,7 +12,7 @@ namespace mx = MaterialX;
void bindPyException(py::module& mod)
{
- static py::exception<mx::Exception> pyException(mod, "Exception");
+ py::register_exception<mx::Exception>(mod, "Exception");
py::register_exception_translator(
[](std::exception_ptr errPtr)