FilterManager
nemo (145) 2546 posts |
This is an API review rather than code. The FilterManager API is almost unique in that it presents undecorated 16bit task handles to filter code. Authors need to know this if they are to compare task handles successfully, but it’s not documented. TaskManager accepts 16bit handles (shhh, it’s a secret) but the Wimp insists on the full decorated form with matching usage count. Should this not be documented properly? I’ve reported a bug concerning PreFilter. R1 is not what it ought to be. The actual R1 is available on the stack, so one solution would be to define that it is there and not where you’d expect. The other is to fix the error and have authors RMEnsure the correct version if they rely on R1. It’s clear that no one but me has ever tried to use it, because machine-stiffing memory corruption will most definitely occur if you do. In my version I use R11 instead of R1 for the filter management, meaning R1 is not corrupted (and it is also on the stack for compatibility). |