When the filtering option was disable we should see all the datablock types.
Small annoyance, unless I really misread the intent of this option here. Either way without this it is really annoying to reset the filter_id option to all, after you clicked in any of the options.
In terms of UI I think we should gray out, not hide the suboptions (both in the Advanced Options menu, and the regular filter menu, but that's a separate issue, one that the Python UI dev team can tackle anyways.
Agree this should be fixed.
There's just one thing that might cause an issue later, not sure.
The FILTER_ID_XX enum is almost "full", think there's only one unused bit left. If we change it to be a long long or whatever, using ~(0) *might* break.
Maybe this is unlikely to cause issues in practise, but there's still a trivial & safe route: