A user reached out to me with an interesting problem. Can you spot the root cause?
https://streamable.com/m631xz
From a quick analysis, here's what's going on:
On the mod side, I can do the same for Everything.exe by hooking SHOpenFolderAndSelectItems
which is the short-term solution I have in mind right now. The mod injects into all processes, including Everything, anyway.
Any better ideas?
BTW interestingly, the problem always happens with the old ribbon UI of Explorer (what's on the video), but only rarely happens with the new UI (on the other screenshots in this thread). Perhaps they changed some of the code to become more asynchronous.
https://streamable.com/m631xz
From a quick analysis, here's what's going on:
- Everything opens the folder by using SHOpenFolderAndSelectItems
- Explorer opens the folder and lists the contained files and folders
- For each folder, the mod kicks in and queries Everything for the folder size
- Meanwhile, Everything is blocked in SHOpenFolderAndSelectItems, which for some reason seems to return only after the list is fully loaded
- The mod times out, resulting in a long delay and a lack of folder sizes
- Afterwards, refresh works fine as Everything is no longer blocked
On the mod side, I can do the same for Everything.exe by hooking SHOpenFolderAndSelectItems

Any better ideas?
BTW interestingly, the problem always happens with the old ribbon UI of Explorer (what's on the video), but only rarely happens with the new UI (on the other screenshots in this thread). Perhaps they changed some of the code to become more asynchronous.
Statistics: Posted by m417z — Sun Nov 10, 2024 10:06 pm