SHELL32: fix crash
Alberto Massari
alby at exln.com
Tue Jan 14 08:41:38 CST 2003
Shell32 loads some entry points from ole32 at runtime; to detect if they have already being loaded, it tests for the value of the hShellOle32 variable. But the same variable is used by SHCoCreateInstance for a similar purpose. So, if the code performs a call to SHCoCreateInstance *before* the call to GetShellOle, the latter function will not load the ole32 API, leading to a crash when pRegisterDragDrop, pRevokeDragDrop, etc.. functions will be used.
Changelog:
- make GetShellOle work on a global variable different from the one used by SHCoCreateInstance
Alberto
Index: clipboard.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/clipboard.c,v
retrieving revision 1.13
diff -u -r1.13 clipboard.c
--- clipboard.c 13 Dec 2002 00:36:52 -0000 1.13
+++ clipboard.c 14 Jan 2003 14:36:03 -0000
@@ -56,6 +56,8 @@
HRESULT (WINAPI *pOleSetClipboard)(IDataObject* pDataObj);
HRESULT (WINAPI *pOleGetClipboard)(IDataObject** ppDataObj);
+static HINSTANCE hShellOle32=NULL;
+
/**************************************************************************
* GetShellOle
*
More information about the wine-patches
mailing list