From 0d9e2a4b6063e02af4c0653c57ee15a5ebeff302 Mon Sep 17 00:00:00 2001 From: Yurii Ti Date: Thu, 5 May 2022 07:07:20 +0300 Subject: [PATCH] [PSA Export] Fixed incorrect sequence filtering results * Fixed a bug where the asset filter button would have no effect when reverse filtering is enabled. * Fixed a bug where enabling reverse filtering would hide all items when the input field is empty. --- io_scene_psk_psa/psa/exporter.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/io_scene_psk_psa/psa/exporter.py b/io_scene_psk_psa/psa/exporter.py index 31c3e27..839fa4f 100644 --- a/io_scene_psk_psa/psa/exporter.py +++ b/io_scene_psk_psa/psa/exporter.py @@ -325,22 +325,22 @@ def filter_sequences(pg: PsaExportPropertyGroup, sequences: bpy.types.bpy_prop_c bitflag_filter_item = 1 << 30 flt_flags = [bitflag_filter_item] * len(sequences) - if pg.sequence_filter_name is not None: + if pg.sequence_filter_name: # Filter name is non-empty. for i, sequence in enumerate(sequences): if not fnmatch.fnmatch(sequence.name, f'*{pg.sequence_filter_name}*'): flt_flags[i] &= ~bitflag_filter_item + # Invert filter flags for all items. + if pg.sequence_use_filter_invert: + for i, sequence in enumerate(sequences): + flt_flags[i] ^= bitflag_filter_item + if not pg.sequence_filter_asset: for i, sequence in enumerate(sequences): if hasattr(sequence, 'action') and sequence.action.asset_data is not None: flt_flags[i] &= ~bitflag_filter_item - if pg.sequence_use_filter_invert: - # Invert filter flags for all items. - for i, sequence in enumerate(sequences): - flt_flags[i] ^= bitflag_filter_item - return flt_flags