Esme Povirk (@madewokherd) commented about dlls/shell32/shlfileop.c:
- return E_NOTIMPL; + TRACE("\n"); + + shfoW.hwnd = operations->hwnd; + shfoW.fFlags = operations->flags; + + LIST_FOR_EACH_ENTRY_SAFE( ptr, next, &operations->ops, struct file_operation, entry ) + { + TRACE("func: %d\n", ptr->wFunc); + if (ptr->wFunc == FO_NEW) + { + if (ptr->pTemplateName) + FIXME("stub template\n"); + + ret = new_item(ptr->pTo, ptr->pNewName, ptr->attributes, operations);
I'm noticing that `ret` is ignored for all operations except the last one. If an operation in the middle fails, does it really make sense to keep going and not report an error? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4817#note_58417