Re: [PATCH v8 0/3] MR6130: shell32: Added stubs for the EnumerableObjectCollection COM class.
On Wed Aug 14 17:21:18 2024 +0000, Elizabeth Figura wrote:
3/3 still needs to be fixed up to 1/3 where the class is introduced, including the actxprxy parts. There's also a whitespace error introduced in 2/3. Also, I'm just now noticing...
``` +HRESULT __RPC_STUB IEnumObjects_Next_Stub(IEnumObjects *This, ULONG
celt, REFIID riid, void **rgelt, ULONG *pceltFetched)
+{ + HRESULT hr; + TRACE("(%p)->(%ld, %p, %p, %p)\n", This, celt, debugstr_guid(riid), rgelt, pceltFetched); + *pceltFetched = 0; + hr = IEnumObjects_Next(This, celt, riid, rgelt, pceltFetched); + if (hr == S_OK) *pceltFetched = celt; + return hr; +} ``` The "*pceltFetched = celt" line looks very wrong, and I don't think that line should be necessary at all. It was copied from IEnumShellItems, but that also looks wrong. I can't see anything obviously wrong in v8 3/3(*). Do you want 3/3 merged into 1/3?
And yeah, that looks strange. Not exactly wrong - S_OK means it fetched as many items as it asked for, so that'll just write the value that's already there (unless the Next impl is buggy or something) - but certainly strange. Yeah, better remove it until and unless proven necessary. (*) actually 3/4, but that last one's a merge commit so let's pretend it doesn't exist. Rebase and remove it. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/6130#note_78711
participants (1)
-
Alfred Agrell (@Alcaro)