Based of patch by Michael Müller.
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- dlls/shell32/shlview_cmenu.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/shell32/shlview_cmenu.c b/dlls/shell32/shlview_cmenu.c index fc761e1..74270b5 100644 --- a/dlls/shell32/shlview_cmenu.c +++ b/dlls/shell32/shlview_cmenu.c @@ -1142,7 +1142,8 @@ static BOOL DoPaste(ContextMenu *This) /* do the copy/move */ if (psfhlpdst && psfhlpsrc) { - ISFHelper_CopyItems(psfhlpdst, psfFrom, lpcida->cidl, (LPCITEMIDLIST*)apidl); + if (SUCCEEDED(ISFHelper_CopyItems(psfhlpdst, psfFrom, lpcida->cidl, (LPCITEMIDLIST*)apidl))) + bSuccess = TRUE; /* FIXME handle move ISFHelper_DeleteItems(psfhlpsrc, lpcida->cidl, apidl); */ @@ -1195,6 +1196,7 @@ static HRESULT WINAPI BackgroundMenu_InvokeCommand( IShellBrowser *browser; IShellView *view = NULL; HWND hWnd = NULL; + HRESULT hr = S_OK;
TRACE("(%p)->(invcom=%p verb=%p wnd=%p)\n", This, lpcmi, lpcmi->lpVerb, lpcmi->hwnd);
@@ -1239,7 +1241,8 @@ static HRESULT WINAPI BackgroundMenu_InvokeCommand( break;
case FCIDM_SHVIEW_INSERT: - DoPaste(This); + if (!DoPaste(This)) + hr = E_FAIL; break;
case FCIDM_SHVIEW_PROPERTIES: @@ -1260,7 +1263,7 @@ static HRESULT WINAPI BackgroundMenu_InvokeCommand( if (view) IShellView_Release(view);
- return S_OK; + return hr; }
static HRESULT WINAPI BackgroundMenu_GetCommandString(