msvcp90: Pass RTTI base pointer from DllMain.

This commit is contained in:
Piotr Caban 2012-09-07 11:01:35 +02:00 committed by Alexandre Julliard
parent 8060752c09
commit d161abb9b3
5 changed files with 9 additions and 12 deletions

View File

@ -751,10 +751,9 @@ void throw_exception(exception_type et, const char *str)
}
}
void init_exception(void)
void init_exception(void *base)
{
#ifdef __x86_64__
void *base = GetModuleHandleA("msvcp90.dll");
init_type_info_rtti(base);
init_exception_rtti(base);
init_bad_alloc_rtti(base);

View File

@ -12921,10 +12921,9 @@ struct {
/* ?_Ptr_wclog@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
basic_ostream_wchar *_Ptr_wclog = &wclog.obj;
void init_io(void)
void init_io(void *base)
{
#ifdef __x86_64__
void *base = GetModuleHandleA("msvcp90.dll");
init_iosb_rtti(base);
init_ios_base_rtti(base);
init_basic_ios_char_rtti(base);

View File

@ -8739,10 +8739,9 @@ void __asm_dummy_vtables(void) {
}
#endif
void init_locale(void)
void init_locale(void *base)
{
#ifdef __x86_64__
void *base = GetModuleHandleA("msvcp90.dll");
init_locale_facet_rtti(base);
init_collate_char_rtti(base);
init_collate_wchar_rtti(base);

View File

@ -463,7 +463,7 @@ ostreambuf_iterator_wchar* __thiscall num_put_wchar_put_uint64(const num_put*, o
ostreambuf_iterator_wchar* __thiscall num_put_wchar_put_bool(const num_put*, ostreambuf_iterator_wchar*,
ostreambuf_iterator_wchar, ios_base*, wchar_t, MSVCP_bool);
void init_exception(void);
void init_locale(void);
void init_io(void);
void init_exception(void*);
void init_locale(void*);
void init_io(void*);
void free_io(void);

View File

@ -90,9 +90,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
case DLL_PROCESS_ATTACH:
init_cxx_funcs();
init_lockit();
init_exception();
init_locale();
init_io();
init_exception(hinstDLL);
init_locale(hinstDLL);
init_io(hinstDLL);
break;
case DLL_PROCESS_DETACH:
free_io();