On Fri Nov 18 02:48:12 2022 +0000, Zebediah Figura wrote:
The first patch both implements MoveFileTransacted() and adds callbacks to CopyFileEx(). Those should be separated into two different changes. Possibly the different callbacks should be split into separate patches as well. The second patch adds tests for CopyFileExW(), but we already have tests for those, which are written in a much more consistent style with the rest of Wine. These patches don't seem to actually remove any of the relevant todos, so you should try to figure out why and fix that. When adding more tests, please try to extend those tests rather than adding separate ones. While you're at it, there are some things that neither the existing nor your new tests check, e.g. what happens when you cancel from a CALLBACK_CHUNK_FINISHED callback.
I wasn't actually sure the caller of `MoveFileTransactedW` was doing with the progress callback. For the most part, I can probably just unstub `MoveFileTransactedW`, call the non-transacted function, and leave a FIXME for the progress callback functionality, and it would resolve the issues that Affinity Photo is having when saving.
I'll probably update the patch to just include those changes.
Frankly I'm surprised that this hasn't been done in the 8 years since the stubs were introduced into the wine dll source.