diff --git a/QuickLook.Native.Shell32/Shell32.cpp b/QuickLook.Native.Shell32/Shell32.cpp index bce945f..a11e62f 100644 --- a/QuickLook.Native.Shell32/Shell32.cpp +++ b/QuickLook.Native.Shell32/Shell32.cpp @@ -140,30 +140,21 @@ void Shell32::SaveSelectedFromDesktop() return; CComQIPtr psp(pWebBrowser2); - CComPtr psb; - CComPtr psv; - CComPtr pfv; - CComPtr ppf2; if (!psp) return; + CComPtr psb; if (SUCCEEDED(psp->QueryService(SID_STopLevelBrowser, IID_IShellBrowser, reinterpret_cast(&psb)))) { + CComPtr psv; if (SUCCEEDED(psb->QueryActiveShellView(&psv))) { + CComPtr pfv; if (SUCCEEDED(psv->QueryInterface(IID_IFolderView, reinterpret_cast(&pfv)))) { - if (SUCCEEDED(pfv->GetFolder(IID_IPersistFolder2, reinterpret_cast(&ppf2)))) - { - LPITEMIDLIST pidlFolder; - if (SUCCEEDED(ppf2->GetCurFolder(&pidlFolder))) - { - CComPtr dao; - if (SUCCEEDED(psv->GetItemObject(SVGIO_SELECTION, IID_IDataObject, reinterpret_cast(&dao)))) - vectorFromDataObject(dao); - } - CoTaskMemFree(pidlFolder); - } + CComPtr dao; + if (SUCCEEDED(psv->GetItemObject(SVGIO_SELECTION, IID_IDataObject, reinterpret_cast(&dao)))) + vectorFromDataObject(dao); } } }