[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.
This commit is contained in:
Yurii Ti
2022-05-05 07:07:20 +03:00
parent 248440052b
commit 0d9e2a4b60

View File

@@ -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