https://git.reactos.org/?p=reactos.git;a=commitdiff;h=1d55f459d6402eb5f97e5ebf65a32e24cdd7a13b
commit 1d55f459d6402eb5f97e5ebf65a32e24cdd7a13b Author: Giannis Adamopoulos <gadamopou...@reactos.org> AuthorDate: Sat Oct 27 11:53:56 2018 +0300 Commit: Giannis Adamopoulos <gadamopou...@reactos.org> CommitDate: Tue Nov 27 12:58:08 2018 +0200 [SHELL32] CFSDropTarget: Fix right click menu when shown over the tree view. CORE-11240 --- dll/win32/shell32/droptargets/CFSDropTarget.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/dll/win32/shell32/droptargets/CFSDropTarget.cpp b/dll/win32/shell32/droptargets/CFSDropTarget.cpp index 41d4bab1c1..641770b37a 100644 --- a/dll/win32/shell32/droptargets/CFSDropTarget.cpp +++ b/dll/win32/shell32/droptargets/CFSDropTarget.cpp @@ -206,9 +206,26 @@ HRESULT CFSDropTarget::_GetEffectFromMenu(IDataObject *pDataObject, POINTL pt, D /* FIXME: We need to support shell extensions here */ + /* We shouldn't use the site window here because the menu should work even when we don't have a site */ + HWND hwndDummy = CreateWindowEx(0, + WC_STATIC, + NULL, + WS_OVERLAPPED | WS_DISABLED | WS_CLIPSIBLINGS | WS_BORDER | SS_LEFT, + pt.x, + pt.y, + 1, + 1, + NULL, + NULL, + NULL, + NULL); + UINT uCommand = TrackPopupMenu(hpopupmenu, TPM_LEFTALIGN | TPM_RETURNCMD | TPM_LEFTBUTTON | TPM_RIGHTBUTTON | TPM_NONOTIFY, - pt.x, pt.y, 0, m_hwndSite, NULL); + pt.x, pt.y, 0, hwndDummy, NULL); + + DestroyWindow(hwndDummy); + if (uCommand == 0) return S_FALSE; else if (uCommand == IDM_COPYHERE)