[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:
@@ -325,22 +325,22 @@ def filter_sequences(pg: PsaExportPropertyGroup, sequences: bpy.types.bpy_prop_c
|
|||||||
bitflag_filter_item = 1 << 30
|
bitflag_filter_item = 1 << 30
|
||||||
flt_flags = [bitflag_filter_item] * len(sequences)
|
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.
|
# Filter name is non-empty.
|
||||||
for i, sequence in enumerate(sequences):
|
for i, sequence in enumerate(sequences):
|
||||||
if not fnmatch.fnmatch(sequence.name, f'*{pg.sequence_filter_name}*'):
|
if not fnmatch.fnmatch(sequence.name, f'*{pg.sequence_filter_name}*'):
|
||||||
flt_flags[i] &= ~bitflag_filter_item
|
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:
|
if not pg.sequence_filter_asset:
|
||||||
for i, sequence in enumerate(sequences):
|
for i, sequence in enumerate(sequences):
|
||||||
if hasattr(sequence, 'action') and sequence.action.asset_data is not None:
|
if hasattr(sequence, 'action') and sequence.action.asset_data is not None:
|
||||||
flt_flags[i] &= ~bitflag_filter_item
|
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
|
return flt_flags
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user