[Bug 7342] Outlook 97 SR-1 does not start
Wine Bugs
wine-bugs at winehq.org
Wed Feb 21 14:29:15 CST 2007
http://bugs.winehq.org/show_bug.cgi?id=7342
------- Additional Comments From focht at gmx.net 2007-21-02 14:29 -------
Created an attachment (id=5044)
--> (http://bugs.winehq.org/attachment.cgi?id=5044&action=view)
outlook sr2 crash log
Hello,
hope you don't mind if i step in :)
I used Office/Outlook 97 SR2 install for this experiment, probably applies to
SR1 as well.
Modified wine 0.9.31 with MAPIAdminProfiles() patch
Arguments:
WINEDEBUG=+process,+seh,+tid,+loaddll,+mapi
(see attached crash log for full info)
Crashes in outlook dll.
I walked up the stack frames, thankfully frame #4 revealed the cause.
--- snip partial dump/analysis ---
NOTE: var_8 = LPMAPISESSION* lppSession
...
.text:6E1C477A push edi
.text:6E1C477B lea ecx, [ebp+var_8]
.text:6E1C477E call sub_6E1CCB1A
.text:6E1C4783 lea ecx, [ebp+var_4]
.text:6E1C4786 call sub_6E1E7DA9
.text:6E1C478B lea eax, [ebp+var_8]
.text:6E1C478E push eax ; [out]
LPMAPISESSION FAR * lppSession
.text:6E1C478F push [ebp+arg_C] ; FLAGS flFlags
.text:6E1C4792 push [ebp+arg_8] ; LPTSTR
lpszPassword
.text:6E1C4795 push [ebp+arg_4] ; LPTSTR
lpszProfileName
.text:6E1C4798 push [ebp+arg_0] ; ULONG
ulUIParam
.text:6E1C479B call MAPILogonEx at 20
.text:6E1C47A0 test eax, eax
.text:6E1C47A2 jl loc_6E2E9DD8
.text:6E1C47A8 push [ebp+var_8] ; lppSession
.text:6E1C47AB mov ecx, esi
.text:6E1C47AD call sub_6E1C4805 ; <-- dereferencing
lppSession in nested calls
.text:6E1C47B2 mov eax, esi
...
--- snip partial dump/analysis ---
The problem lies in MAPILogonEx() stub which returns "SUCCESS" but does *not*
return a valid pointer to MAPISESSION.
"LPMAPISESSION *session" is an OUT parameter.
--- snip wine mapi32_main.c ---
HRESULT WINAPI MAPILogonEx(ULONG_PTR uiparam, LPWSTR profile,
LPWSTR password, ULONG flags, LPMAPISESSION *session)
{
FIXME("(0x%08lx %s %p 0x%08x %p) Stub\n", uiparam,
debugstr_w(profile), password, flags, session);
return SUCCESS_SUCCESS;
}
--- snip wine mapi32_main.c ---
You have two options:
1. Fix MAPILogonEx() to return some "failure" code like MAPI_E_LOGON_FAILED
2. Implement all necessary MAPI (session) stuff
Return failure will result in outlook displaying messagbox "logon failure" and
clean exit after confirmation (tested).
Implementing all the necessary MAPI stuff might be a somewhat tedious task ...
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the wine-bugs
mailing list