http://cvs.winehq.org/patch.py?id=19897 (shlfolder.c test)
Saulius Krasuckas
saulius2 at ar.fi.lt
Sun Sep 4 08:17:34 CDT 2005
* On Sat, 3 Sep 2005, Saulius Krasuckas wrote:
> * On Sat, 3 Sep 2005, Paul Vriens wrote:
> >
> > this change to shell32/tests/shlfolder.c fails on Win98/WinNT and
> > W2KProf because ILFindLastID is not exported on those platforms.
> >
> > I tried to change shlfolder.c to test for the export, but that shows
> > that it's not exported on Wine either ? The .spec file says different.
>
> I have made pretty trivial change and it worksforme. See below.
I believe the test works a lot better now. Still I tried upgrading my RH8
glibc to one of FC4 and now I sit even w/o XF. :-/
Log message:
Saulius Krasuckas <saulius.krasuckas at ieee.org>
SHELL32.dll.ILFindLastID is exported by an ordinal on an older platforms.
Index: dlls/shell32/tests/shlfolder.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/tests/shlfolder.c,v
retrieving revision 1.34
diff -p -u -r1.34 shlfolder.c
--- dlls/shell32/tests/shlfolder.c 29 Aug 2005 21:45:49 -0000 1.34
+++ dlls/shell32/tests/shlfolder.c 4 Sep 2005 12:58:59 -0000
@@ -46,6 +46,7 @@ static IMalloc *ppM;
static HRESULT (WINAPI *pSHBindToParent)(LPCITEMIDLIST, REFIID, LPVOID*, LPCITEMIDLIST*);
static BOOL (WINAPI *pSHGetSpecialFolderPathW)(HWND, LPWSTR, int, BOOL);
static HRESULT (WINAPI *pStrRetToBufW)(STRRET*,LPCITEMIDLIST,LPWSTR,UINT);
+static LPITEMIDLIST (WINAPI *pILFindLastID)(LPCITEMIDLIST);
static void init_function_pointers(void)
{
@@ -57,6 +58,10 @@ static void init_function_pointers(void)
{
pSHBindToParent = (void*)GetProcAddress(hmod, "SHBindToParent");
pSHGetSpecialFolderPathW = (void*)GetProcAddress(hmod, "SHGetSpecialFolderPathW");
+ pILFindLastID = (void *)GetProcAddress(hmod, "ILFindLastID");
+ if (!pILFindLastID)
+ pILFindLastID = (void *)GetProcAddress(hmod, (LPCSTR)16);
+
}
hmod = GetModuleHandleA("shlwapi.dll");
@@ -379,7 +384,7 @@ static void test_GetDisplayName(void)
/* This test shows that Windows doesn't allocate a new pidlLast, but returns a pointer into
* pidlTestFile (In accordance with MSDN). */
- todo_wine{ok (ILFindLastID(pidlTestFile) == pidlLast,
+ todo_wine{ok (pILFindLastID(pidlTestFile) == pidlLast,
"SHBindToParent doesn't return the last id of the pidl param!\n");}
hr = IShellFolder_GetDisplayNameOf(psfPersonal, pidlLast, SHGDN_FORPARSING, &strret);
More information about the wine-patches
mailing list