[pkg-wine-party] [SCM] Debian Wine packaging branch, wheezy, updated. wine-1.4-7-302-gb61b690
Alexandre Julliard
julliard at winehq.org
Sun Jun 17 20:03:01 UTC 2012
The following commit has been merged in the wheezy branch:
commit 66ea31145b3b10c7e0d453809c3b89a77321f8ed
Author: Piotr Caban <piotr at codeweavers.com>
Date: Tue Mar 27 12:05:38 2012 +0200
shell32: Handle ASSOCDATA_EDITFLAGS in IQueryAssociations:GetData function.
(cherry picked from commit 924538f22a7a42434845015e17288bf19e5e8c82)
diff --git a/dlls/shell32/assoc.c b/dlls/shell32/assoc.c
index 8364e9f..0131da7 100644
--- a/dlls/shell32/assoc.c
+++ b/dlls/shell32/assoc.c
@@ -670,19 +670,39 @@ static HRESULT WINAPI IQueryAssociations_fnGetKey(
* Success: S_OK. pszOut contains the data, pcbOut contains its length.
* Failure: An HRESULT error code indicating the error.
*/
-static HRESULT WINAPI IQueryAssociations_fnGetData(
- IQueryAssociations *iface,
- ASSOCF cfFlags,
- ASSOCDATA assocdata,
- LPCWSTR pszExtra,
- LPVOID pvOut,
- DWORD *pcbOut)
+static HRESULT WINAPI IQueryAssociations_fnGetData(IQueryAssociations *iface,
+ ASSOCF cfFlags, ASSOCDATA assocdata, LPCWSTR pszExtra, LPVOID pvOut,
+ DWORD *pcbOut)
{
- IQueryAssociationsImpl *This = impl_from_IQueryAssociations(iface);
+ static const WCHAR edit_flags[] = {'E','d','i','t','F','l','a','g','s',0};
- FIXME("(%p,0x%8x,0x%8x,%s,%p,%p)-stub!\n", This, cfFlags, assocdata,
- debugstr_w(pszExtra), pvOut, pcbOut);
- return E_NOTIMPL;
+ IQueryAssociationsImpl *This = impl_from_IQueryAssociations(iface);
+ void *data;
+ DWORD size;
+ HRESULT hres;
+
+ TRACE("(%p,0x%8x,0x%8x,%s,%p,%p)\n", This, cfFlags, assocdata,
+ debugstr_w(pszExtra), pvOut, pcbOut);
+
+ if(cfFlags)
+ FIXME("Unsupported flags: %x\n", cfFlags);
+
+ switch(assocdata) {
+ case ASSOCDATA_EDITFLAGS:
+ if(!This->hkeyProgID)
+ return HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION);
+
+ hres = ASSOC_GetValue(This->hkeyProgID, edit_flags, &data, &size);
+ if(FAILED(hres) || !pcbOut)
+ return hres;
+
+ hres = ASSOC_ReturnData(pvOut, pcbOut, data, size);
+ HeapFree(GetProcessHeap(), 0, data);
+ return hres;
+ default:
+ FIXME("Unsupported ASSOCDATA value: %d\n", assocdata);
+ return E_NOTIMPL;
+ }
}
/**************************************************************************
--
Debian Wine packaging
More information about the pkg-wine-party
mailing list