Multiple addressbook details dialogs hang when closing in different order
If opening multiple addressbook dialogs and opening multiple address-details-dialogs parallel you must close these details dialogs in the order, that the latest opened dialog must be closed first. If closing the first dialog, the program hangs. I have the same issue in our development project when using multiple threads without message pump. But here in mfcmapi there is a message pump and the issue is the same.
https://blogs.msdn.microsoft.com/stephen_griffin/2009/05/22/the-fifth-mapi-multithreading-rule/ "The first thread to initialize MAPI must pump messages "
I just saw this - can you give explicit repro steps?
Starting MfcMapi Menu Session -> Mapi Initialize 0x0 or 0x1 Menu Session -> Logon
Menu Address book -> View AB Hierarchy Double click on globale Adressliste Select one person in this address list -> Menu Actions -> Advanced -> Display details (1) Let the address details dialog open
Select again the AB Hierarchy Window Double click on globale Adressliste Select one person in this address list -> Menu Actions -> Advanced -> Display details (2) Let the address details dialog open
Select again the AB Hierarchy Window Double click on globale Adressliste Select one person in this address list -> Menu Actions -> Advanced -> Display details (3) Let the address details dialog open
Now close the window with address details (1)
If you close first (3), then (2), then (1) everything is fine. But if you close first (1) or (2) everything hangs and you must kill the process.