Right now when a user opens a file browser it is possible that he will see icons being loaded one by one and the more icons that should be shown, the worse to problem gets. This is caused by a series of issues but a really important factor is that we don't use SHMapIDListToImageListIndexAsync in the CDefView class.
In order to fix it one has to do the following :
- Implement a class that implements IShellTaskScheduler. There is one used by the shell and is implemented in browseui. When I find the accontring CLSID I'll add it here.
- Implement SHMapIDListToImageListIndexAsync in shell32 to use the class mentioned above
- Change CDefView to use SHMapIDListToImageListIndexAsync instead of SHMapPIDLToSystemImageListIndex