On 06/03/2010 02:40 PM, Nikolay Sivov wrote:
On 6/3/2010 23:35, Andrew Eikum wrote:
This fixes a bug with Internet Explorer 6's Favorites menu.
This function used to be named IUnknown_EnumObjects, so my guess is that the original implementor thought it'd be wise to verify the type of the object before executing IShellFolder's methods on it. Since it's now called IShellFolder_EnumObjects and explicitly takes an LPSHELLFOLDER parameter, I see no reason to do the typecheck.
And where is a test for that?
In the patch. The object returned by SHGetDesktopFolder does not have CLSID_ShellFSFolder, yet it does not fail in the shlwapi EnumObjects call. Running the test with and without the functionality change shows this.
I guess I could go try to dig up some IShellFolder instance which succeeds a plain IShellFolder_EnumObjects call and fails a shlwapi EnumObjects call, but I wouldn't even know where to start for that. If the old functionality was required, it needs a test or at least a comment. As far as current knoweldge goes, it's both simpler and more correct with this patch than it was without.
Andrew