• Robert Sprowson's avatar
    [455] Don't call filters for tasks that have quit · 07fa7e20
    Robert Sprowson authored
    Filter Manager continued to call filters based on their Task ID after they had quit. Now, watch out for Service_WimpCloseDown and disable any matching filters (the filters are retained so that any subsequent legitimate deregister attempt doesn't get an unknown filter error). As only 16 bit Task IDs are stored, define a new flag in b31 to denote a disabled filter - this also means there is a free "no match" when the filter lists are scanned.
    The copy filter isn't affected because it doesn't select on Task ID.
    
    FilterMgr.s: New flag to mark a task as having quit
    ModHead.s: Listen for Service_WimpCloseDown and check the lists of Task IDs for any matches. Simplify *Filters code with advanced subroutine technology.
    SWIs.s: Knock out the "quit" flag when comparing task handles to deregister
    Tail.s: Walk a list, mark any matching tasks as having quit
    
    Version 0.29. Tagged as 'Filter-0_29'
    07fa7e20
ModHead 23.5 KB