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