v4: Replace private flag with an explicit boolean. This is now effectively exchanging one boolean flag for another, but I think it's still overall an improvement. As @rbernon says in !8095, understanding when `frame` becomes true requires "having to track down 6 different calls sites to figure under which condition that additional parameter can be set to a 1/0 constant, based on seemingly arbitrary decision as it is hardcoded in most of them." This patch makes the propagating behavior explicit: RDW\_FRAME dictates whether frame is included for invalidating case, and "nested update" status for validating case. For background, the motivation for removing the boolean flag came from (again quoting @rbernon) "aiming at reducing the number of parameters overall in a MR that added two more, and I though it would be better to remove one seemingly independent parameter that actually isn't" (the MR being !8013). I still think my patch is in the right direction in this aspect: my `nested` *is* an independent parameter, unlike `frame` which may or may not depend on `RDW_FRAME` depending on yet another flag. Adding more boolean parameters, if ever needed, can be achieved by simply replacing `nested` with a bitfield. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8097#note_104102