Fix crash when constructing ANSI interface pointer to IExtractIcon

Rolf Kalbermatter rolf.kalbermatter at citeng.com
Sat Dec 14 09:34:58 CST 2002


Changelog
  * dlls/shell32/folders.c
    Fix crash when constructing ANSI interface pointer to IExtractIcon, found by Uwe Bonnes
    Add some traces to the constructors

Rolf Kalbermatter

Index: dlls/shell32/folders.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/folders.c,v
retrieving revision 1.34
diff -u -r1.34 folders.c
--- dlls/shell32/folders.c	12 Dec 2002 23:00:04 -0000	1.34
+++ dlls/shell32/folders.c	14 Dec 2002 15:27:51 -0000
@@ -62,6 +62,8 @@
 IExtractIconW* IExtractIconW_Constructor(LPCITEMIDLIST pidl)
 {
 	IExtractIconWImpl* ei;
+	
+	TRACE("%p\n", pidl);
 
 	ei = (IExtractIconWImpl*)HeapAlloc(GetProcessHeap(),0,sizeof(IExtractIconWImpl));
 	ei->ref=1;
@@ -285,8 +287,10 @@
 IExtractIconA* IExtractIconA_Constructor(LPCITEMIDLIST pidl)
 {
 	ICOM_THIS(IExtractIconWImpl, IExtractIconW_Constructor(pidl));
-
-	return (IExtractIconA *)This->lpvtblExtractIconA;
+	IExtractIconA *eia = (IExtractIconA *)&This->lpvtblExtractIconA;
+	
+	TRACE("(%p)->(%p)\n", This, eia);
+	return eia;
 }
 /**************************************************************************
  *  IExtractIconA_QueryInterface
 




More information about the wine-patches mailing list