diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2015-04-16 03:13:40 +0300 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2015-04-16 07:35:24 +0300 |
commit | b466a82fa5b3490a13880a92ce00d01057ae21b3 (patch) | |
tree | 1108dac4e2a7651348b256d3b0f9c2e9b195970c /release | |
parent | b88421aa6204f51e23dbff3ee48a5d2c360b0536 (diff) |
Partial fix for T44404: freestyle crashes blender.
Logical predicates AndUP1D and OrUP1D were instantiated even with an empty
list of unary 1D predicates, causing an exception in the constructors of
the logical predicate classes.
This is a regression made in b408d8af31c9fba5898e353c97f95f7ce8dc19c1.
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/freestyle/modules/parameter_editor.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/release/scripts/freestyle/modules/parameter_editor.py b/release/scripts/freestyle/modules/parameter_editor.py index d4765847450..3c11c33a39d 100644 --- a/release/scripts/freestyle/modules/parameter_editor.py +++ b/release/scripts/freestyle/modules/parameter_editor.py @@ -960,11 +960,11 @@ def process(layer_name, lineset_name): if lineset.select_external_contour: upred = ExternalContourUP1D() edge_type_criteria.append(NotUP1D(upred) if lineset.exclude_external_contour else upred) - if lineset.edge_type_combination == 'OR': - upred = OrUP1D(*edge_type_criteria) - else: - upred = AndUP1D(*edge_type_criteria) - if upred is not None: + if edge_type_criteria: + if lineset.edge_type_combination == 'OR': + upred = OrUP1D(*edge_type_criteria) + else: + upred = AndUP1D(*edge_type_criteria) if lineset.edge_type_negation == 'EXCLUSIVE': upred = NotUP1D(upred) selection_criteria.append(upred) @@ -989,8 +989,9 @@ def process(layer_name, lineset_name): upred = WithinImageBoundaryUP1D(*ContextFunctions.get_border()) selection_criteria.append(upred) # select feature edges - upred = AndUP1D(*selection_criteria) - if upred is None: + if selection_criteria: + upred = AndUP1D(*selection_criteria) + else: upred = TrueUP1D() Operators.select(upred) # join feature edges to form chains |