From b6617ae946213139e89c31258c31d205edec3368 Mon Sep 17 00:00:00 2001 From: Maxime-Cots Date: Mon, 17 Feb 2025 18:31:53 +0100 Subject: [PATCH] Fix #134451: SVG: Reuse material data on SVG Import Reuse SVG Material and prevent creation of duplicate material multiple times. Issue occurred because the check for a duplicate material was placed too early. Co-authored-by: Nig3l Pull Request: https://projects.blender.org/blender/blender/pulls/134529 --- scripts/addons_core/io_curve_svg/import_svg.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/addons_core/io_curve_svg/import_svg.py b/scripts/addons_core/io_curve_svg/import_svg.py index fb778868a88..0b2fe00e1e0 100644 --- a/scripts/addons_core/io_curve_svg/import_svg.py +++ b/scripts/addons_core/io_curve_svg/import_svg.py @@ -180,9 +180,6 @@ def SVGGetMaterial(color, context): materials = context['materials'] rgb_re = re.compile(r'^\s*rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,(\d+)\s*\)\s*$') - if color in materials: - return materials[color] - diff = None if color.startswith('#'): color = color[1:] @@ -206,6 +203,9 @@ def SVGGetMaterial(color, context): diffuse_color[1] = srgb_to_linearrgb(diffuse_color[1]) diffuse_color[2] = srgb_to_linearrgb(diffuse_color[2]) + if color in materials: + return materials[color] + mat = bpy.data.materials.new(name='SVGMat') mat.diffuse_color = (*diffuse_color, 1.0)