diff options
| author | Anchor Linden <anchor@lindenlab.com> | 2018-02-28 22:42:23 -0800 |
|---|---|---|
| committer | Anchor Linden <anchor@lindenlab.com> | 2018-02-28 22:42:23 -0800 |
| commit | 618179a71722e47115a6b021a1eb2be99e46322f (patch) | |
| tree | 7cb94aef6fe27ed0497790f07f8c190cf1944f92 /indra/llplugin/slplugin/slplugin.cpp | |
| parent | bfbcd6d16931819c43eea8e83963c9f86c6892dd (diff) | |
| parent | 5a12a88f7b53bb99a6b302c35d891a8ecee59855 (diff) | |
Merge
Diffstat (limited to 'indra/llplugin/slplugin/slplugin.cpp')
| -rw-r--r-- | indra/llplugin/slplugin/slplugin.cpp | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/indra/llplugin/slplugin/slplugin.cpp b/indra/llplugin/slplugin/slplugin.cpp index 684bcf1207..b960565416 100644 --- a/indra/llplugin/slplugin/slplugin.cpp +++ b/indra/llplugin/slplugin/slplugin.cpp @@ -100,33 +100,8 @@ LPTOP_LEVEL_EXCEPTION_FILTER WINAPI MyDummySetUnhandledExceptionFilter( BOOL PreventSetUnhandledExceptionFilter() { -// WARNING: This won't work on 64-bit Windows systems so we turn it off it. -// It should work for any flavor of 32-bit Windows we care about. -// If it's off, sometimes you will see an OS message when a plugin crashes -#ifndef _WIN64 - HMODULE hKernel32 = LoadLibraryA( "kernel32.dll" ); - if ( NULL == hKernel32 ) - return FALSE; - - void *pOrgEntry = GetProcAddress( hKernel32, "SetUnhandledExceptionFilter" ); - if( NULL == pOrgEntry ) - return FALSE; - - unsigned char newJump[ 100 ]; - DWORD dwOrgEntryAddr = (DWORD)pOrgEntry; - dwOrgEntryAddr += 5; // add 5 for 5 op-codes for jmp far - void *pNewFunc = &MyDummySetUnhandledExceptionFilter; - DWORD dwNewEntryAddr = (DWORD) pNewFunc; - DWORD dwRelativeAddr = dwNewEntryAddr - dwOrgEntryAddr; - - newJump[ 0 ] = 0xE9; // JMP absolute - memcpy( &newJump[ 1 ], &dwRelativeAddr, sizeof( pNewFunc ) ); - SIZE_T bytesWritten; - BOOL bRet = WriteProcessMemory( GetCurrentProcess(), pOrgEntry, newJump, sizeof( pNewFunc ) + 1, &bytesWritten ); - return bRet; -#else - return FALSE; -#endif + // remove the scary stuff that also isn't supported on 64 bit Windows + return TRUE; } //////////////////////////////////////////////////////////////////////////////// |
