-
-
Notifications
You must be signed in to change notification settings - Fork 2k
[SHELL32] Correctly compare pidls for SHBrowseForFolder BFFM_SETEXPANDED #7499
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SHELL32] Correctly compare pidls for SHBrowseForFolder BFFM_SETEXPANDED #7499
Conversation
_ILIsEqualSimple just does a memcmp and that does not work for all items
Can be potentially linked to CORE-13950. |
| #define PT_FOLDERTYPEMASK 0x70 | ||
| #define PT_DESKTOP_REGITEM 0x1F // => SHDID_ROOT_REGITEM | ||
| #define PT_COMPUTER_REGITEM 0x2E // => SHDID_COMPUTER_OTHER | ||
| #define PT_COMPUTER_REGITEM 0x2E // => SHDID_COMPUTER_? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mean, any of the SHDID_COMPUTER_* defines?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, I mean more research is required about the drive letter items. Specifically drive letters which failed GetDriveType when they were created vs actual regitems (Control panel etc in this folder). This will happen when SHGDFIL_DESCRIPTIONID gets implemented.
_ILIsEqualSimplejust does amemcmpand that does not work for all items. Using a corrected version ofILIsEqualmakes it much better at matching items. As a bonus, this also fixes detection of deleted folders (fromSHChangeNotifynotifications) in Explorer/DefView automatically without having to manually refresh.Notes:
BROWSEINFO::pidlRootinitializes the dialog like Windows.BIF_NOTRANSLATETARGETSon XP+.