ddeinitialize fix
Rein Klazes
rklazes at xs4all.nl
Thu Apr 5 12:53:38 CDT 2001
hi,
This solves the "err:ddeml:Release_reserved_mutex ReleaseMutex failed"
error that causes a crash in pegasus mail, and makes some other
programs refuse to run when another application has called
DdeInitialize() before.
Changelog:
dlls/user : ddeml.c
Handle the case in if the DdeInstanceMutex is already created
in
another process.
--
Rein Klazes
rklazes at xs4all.nl
-------------- next part --------------
--- ./wine/dlls/user/ddeml.c Wed Feb 28 07:07:12 2001
+++ ./mywine/dlls/user/ddeml.c Thu Apr 5 18:02:46 2001
@@ -379,14 +379,15 @@
s_attrib.bInheritHandle = TRUE;
s_attrib.lpSecurityDescriptor = NULL;
s_attrib.nLength = sizeof(s_attrib);
- inst_count_mutex = CreateMutexA(&s_attrib,1,DDEInstanceAccess); /* 1st time through */
- } else {
+ inst_count_mutex = CreateMutexA(&s_attrib,0,DDEInstanceAccess); /* 1st time through */
+ }
+ if ( inst_count_mutex )
+ {
if ( !WaitForMutex(inst_count_mutex) )
{
return DMLERR_SYS_ERROR;
}
- }
- if ( !inst_count_mutex )
+ } else
{
ERR("CreateMutex failed - inst_count %li\n",GetLastError());
Release_reserved_mutex (handle_mutex,"handle_mutex",0,1,this_instance);
More information about the wine-patches
mailing list