shell32 patch 32

Martin Fuchs martin-fuchs at gmx.net
Wed Apr 7 15:07:01 CDT 2004


Changelog:
- SHBindToParent(): request correct COM interface from desktop
- _ILCreateFromFindDataA(): type cast to eliminate MSVC compiler warning


Index: pidl.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/pidl.c,v
retrieving revision 1.110
diff -u -p -d -r1.110 pidl.c
--- pidl.c	7 Apr 2004 19:45:48 -0000	1.110
+++ pidl.c	7 Apr 2004 20:03:04 -0000
@@ -1392,10 +1392,20 @@ HRESULT WINAPI SHBindToParent(LPCITEMIDL
 
 	if (_ILIsPidlSimple(pidl))
 	{
+	  IShellFolder* desktop;
+
 	  /* we are on desktop level */
-	  if (ppidlLast)
-	    *ppidlLast = ILClone(pidl);
-	  hr = SHGetDesktopFolder((IShellFolder**)ppv);
+	  hr = SHGetDesktopFolder(&desktop);
+
+	  if (SUCCEEDED(hr))
+	  {
+	    hr = IShellFolder_QueryInterface(desktop, riid, ppv);
+
+	    if (SUCCEEDED(hr) && ppidlLast)
+	      *ppidlLast = ILClone(pidl);
+
+	    IShellFolder_Release(desktop);
+	  }
 	}
 	else
 	{
@@ -1583,7 +1593,7 @@ LPITEMIDLIST _ILCreateFromFindDataA(WIN3
             pData->type = type;
             FileTimeToDosDateTime(&(stffile->ftLastWriteTime),&pData->u.folder.uFileDate,&pData->u.folder.uFileTime);
             pData->u.folder.dwFileSize = stffile->nFileSizeLow;
-            pData->u.folder.uFileAttribs = stffile->dwFileAttributes;
+            pData->u.folder.uFileAttribs = (WORD)stffile->dwFileAttributes;
         }
         if ((pszDest = _ILGetTextPointer(pidl)))
         {





More information about the wine-patches mailing list