From b49c9ac923a7b83c7fe73412a0702f3042e9690e Mon Sep 17 00:00:00 2001 From: Daniel Jelinski Date: Sun, 11 Aug 2013 01:02:58 +0200 Subject: [PATCH] shell32: Simplify cut/copy operations. --- dlls/shell32/shlview_cmenu.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/dlls/shell32/shlview_cmenu.c b/dlls/shell32/shlview_cmenu.c index 6004afc9991..4c4edef7c27 100644 --- a/dlls/shell32/shlview_cmenu.c +++ b/dlls/shell32/shlview_cmenu.c @@ -257,29 +257,17 @@ static void DoDelete(ContextMenu *This) * * copies the currently selected items into the clipboard */ -static BOOL DoCopyOrCut(ContextMenu *This, HWND hwnd, BOOL cut) +static void DoCopyOrCut(ContextMenu *This, HWND hwnd, BOOL cut) { IDataObject *dataobject; - IShellBrowser *browser; - IShellView *view; TRACE("(%p)->(wnd=%p, cut=%d)\n", This, hwnd, cut); - /* get the active IShellView */ - if ((browser = (IShellBrowser*)SendMessageA(hwnd, CWM_GETISHELLBROWSER, 0, 0))) + if (SUCCEEDED(IShellFolder_GetUIObjectOf(This->parent, hwnd, This->cidl, (LPCITEMIDLIST*)This->apidl, &IID_IDataObject, 0, (void**)&dataobject))) { - if (SUCCEEDED(IShellBrowser_QueryActiveShellView(browser, &view))) - { - if (SUCCEEDED(IShellView_GetItemObject(view, SVGIO_SELECTION, &IID_IDataObject, (void**)&dataobject))) - { - OleSetClipboard(dataobject); - IDataObject_Release(dataobject); - } - IShellView_Release(view); - } + OleSetClipboard(dataobject); + IDataObject_Release(dataobject); } - - return TRUE; } /**************************************************************************