mirror of
https://github.com/reactos/wine.git
synced 2024-11-25 20:59:54 +00:00
Add support for Unicode IExtractIcon creation in
IShellFolder->GetUIObjectOf.
This commit is contained in:
parent
d7d7e3bc33
commit
c3c4a41f29
@ -100,6 +100,7 @@ HRESULT WINAPI IDropTargetHelper_Constructor (IUnknown * pUnkOuter, REFIID riid,
|
||||
LPENUMIDLIST IEnumIDList_Constructor(LPCSTR,DWORD,DWORD);
|
||||
|
||||
LPEXTRACTICONA IExtractIconA_Constructor(LPITEMIDLIST);
|
||||
LPEXTRACTICONW IExtractIconW_Constructor(LPITEMIDLIST);
|
||||
HRESULT CreateStreamOnFile (LPCSTR pszFilename, IStream ** ppstm);
|
||||
|
||||
/* FIXME: rename the functions when the shell32.dll has it's own exports namespace */
|
||||
|
@ -408,6 +408,11 @@ static HRESULT WINAPI ISF_Desktop_fnGetUIObjectOf (IShellFolder2 * iface,
|
||||
pObj = (LPUNKNOWN) IExtractIconA_Constructor (pidl);
|
||||
SHFree (pidl);
|
||||
hr = S_OK;
|
||||
} else if (IsEqualIID (riid, &IID_IExtractIconW) && (cidl == 1)) {
|
||||
pidl = ILCombine (This->pidlRoot, apidl[0]);
|
||||
pObj = (LPUNKNOWN) IExtractIconW_Constructor (pidl);
|
||||
SHFree (pidl);
|
||||
hr = S_OK;
|
||||
} else if (IsEqualIID (riid, &IID_IDropTarget) && (cidl >= 1)) {
|
||||
hr = IShellFolder_QueryInterface (iface, &IID_IDropTarget, (LPVOID *) & pObj);
|
||||
} else {
|
||||
|
@ -559,6 +559,11 @@ IShellFolder_fnGetUIObjectOf (IShellFolder2 * iface,
|
||||
pObj = (LPUNKNOWN) IExtractIconA_Constructor (pidl);
|
||||
SHFree (pidl);
|
||||
hr = S_OK;
|
||||
} else if (IsEqualIID (riid, &IID_IExtractIconW) && (cidl == 1)) {
|
||||
pidl = ILCombine (This->pidlRoot, apidl[0]);
|
||||
pObj = (LPUNKNOWN) IExtractIconW_Constructor (pidl);
|
||||
SHFree (pidl);
|
||||
hr = S_OK;
|
||||
} else if (IsEqualIID (riid, &IID_IDropTarget) && (cidl >= 1)) {
|
||||
hr = IShellFolder_QueryInterface (iface, &IID_IDropTarget, (LPVOID *) & pObj);
|
||||
} else {
|
||||
|
@ -388,6 +388,11 @@ ISF_MyComputer_fnGetUIObjectOf (IShellFolder2 * iface,
|
||||
pObj = (LPUNKNOWN) IExtractIconA_Constructor (pidl);
|
||||
SHFree (pidl);
|
||||
hr = S_OK;
|
||||
} else if (IsEqualIID (riid, &IID_IExtractIconW) && (cidl == 1)) {
|
||||
pidl = ILCombine (This->pidlRoot, apidl[0]);
|
||||
pObj = (LPUNKNOWN) IExtractIconW_Constructor (pidl);
|
||||
SHFree (pidl);
|
||||
hr = S_OK;
|
||||
} else if (IsEqualIID (riid, &IID_IDropTarget) && (cidl >= 1)) {
|
||||
hr = IShellFolder_QueryInterface (iface, &IID_IDropTarget, (LPVOID *) & pObj);
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user