The shellview menu IDs are very large, eg. FCIDM_SHVIEW_OPEN is 0x7102, while applications want menu IDs to fit into a small range, eg. 1-1000 for Explorer++. This causes our IContextMenu_QueryContextMenu() functions to leave out most menu options. We should rebase our shellview menu ids by -0x7000 so they occupy a smaller range.
This gets both Explorer++ and Double Commander to show the correct right-click menus.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=24893 Signed-off-by: Damjan Jovanovic damjan.jov@gmail.com --- dlls/shell32/shlview_cmenu.c | 57 +++++++++++++++++++++++++++------- dlls/shell32/tests/shlfolder.c | 8 +++++ 2 files changed, 54 insertions(+), 11 deletions(-)
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=89580
Your paranoid android.
=== w1064v1809 (32 bit report) ===
shell32: shlfolder.c:4838: Test failed: CREATE: expected notification type 2, got: 40000 shlfolder.c:4845: Test failed: GetDisplayNameOf failed: 0x80070057 shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 2)
=== w1064_tsign (32 bit report) ===
shell32: shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 40000)
=== w1064v1809 (64 bit report) ===
shell32: shlfolder.c:4838: Test failed: RMDIR: expected notification type 10, got: 40000 shlfolder.c:4845: Test failed: GetDisplayNameOf failed: 0x80070057 shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 10)
=== w1064 (64 bit report) ===
shell32: shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 40000)
=== w1064_tsign (64 bit report) ===
shell32: shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 2) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 40000) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4838: Test failed: RMDIR: expected notification type 10, got: 40000 shlfolder.c:4845: Test failed: GetDisplayNameOf failed: 0x80070057 shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3)
=== w10pro64_ar (64 bit report) ===
shell32: shlfolder.c:4838: Test failed: RMDIR: expected notification type 10, got: 40000 shlfolder.c:4845: Test failed: GetDisplayNameOf failed: 0x80070057 shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 10) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4838: Test failed: MKDIR: expected notification type 8, got: 40000 shlfolder.c:4845: Test failed: GetDisplayNameOf failed: 0x80070057 shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3)
=== w10pro64_he (64 bit report) ===
shell32: shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4838: Test failed: MKDIR: expected notification type 8, got: 40000 shlfolder.c:4845: Test failed: GetDisplayNameOf failed: 0x80070057 shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4838: Test failed: RMDIR: expected notification type 10, got: 40000 shlfolder.c:4845: Test failed: GetDisplayNameOf failed: 0x80070057 shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3)
=== w10pro64_ja (64 bit report) ===
shell32: shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3)
=== w10pro64_zh_CN (64 bit report) ===
shell32: shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3) shlfolder.c:4855: Test failed: Didn't expect a WM_USER_NOTIFY message (event: 3)