Changeset 21381 for trunk/src/kernel32
- Timestamp:
- Jul 5, 2010, 2:30:14 AM (15 years ago)
- Location:
- trunk/src/kernel32
- Files:
-
- 3 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/KERNEL32.DEF
r21361 r21381 1345 1345 EncodePointer = _EncodePointer@4 @3530 NONAME 1346 1346 RtlUniform = _RtlUniform@4 @3531 NONAME 1347 1348 ___seh_handler @3600 NONAME 1349 _EnableSEH@0 @3601 NONAME 1350 -
trunk/src/kernel32/exceptions.cpp
r21337 r21381 1207 1207 dprintfException(pERepRec, pERegRec, pCtxRec, p); 1208 1208 dprintf(("KERNEL32: OS2ExceptionHandler: FPU exception\n")); 1209 if( !fIsOS2Image && !fExitProcess) //Only for real win32 apps1209 if((!fIsOS2Image || fSEHEnabled) && !fExitProcess) //Only for real win32 apps or if SEH enabled 1210 1210 { 1211 1211 if(OSLibDispatchException(pERepRec, pERegRec, pCtxRec, p) == FALSE) … … 1467 1467 #endif 1468 1468 1469 if( !fIsOS2Image && !fExitProcess) //Only for real win32 apps1469 if((!fIsOS2Image || fSEHEnabled) && !fExitProcess) //Only for real win32 apps or if SEH enabled 1470 1470 { 1471 1471 if(OSLibDispatchException(pERepRec, pERegRec, pCtxRec, p) == TRUE) -
trunk/src/kernel32/kernel32.mak
r21342 r21381 174 174 $(ODIN32_LIB)\WIN32K.LIB \ 175 175 $(ODIN32_LIB)\UNICODE.LIB \ 176 $(ODIN32_LIB)\seh.lib \ 176 177 $(ODIN32_LIB)\ntdll.lib \ 177 178 so32dll.lib \ -
trunk/src/kernel32/kernel32dbg.def
r21361 r21381 1344 1344 EncodePointer = _EncodePointer@4 @3530 NONAME 1345 1345 RtlUniform = _RtlUniform@4 @3531 NONAME 1346 1347 ___seh_handler @3600 NONAME 1348 _EnableSEH@0 @3601 NONAME -
trunk/src/kernel32/makefile
r6871 r21381 17 17 # Subdirectories. 18 18 SUBDIRS = \ 19 unicode 19 unicode \ 20 seh 20 21 21 22 -
trunk/src/kernel32/wprocess.cpp
r21339 r21381 78 78 BOOL fSwitchTIBSel = TRUE; // TRUE -> switch TIB selectors 79 79 // FALSE -> don't 80 BOOL fSEHEnabled = FALSE; // TRUE -> SEH support enabled 81 // FALSE -> not enabled 80 82 BOOL fExitProcess = FALSE; 81 83 … … 105 107 106 108 109 //****************************************************************************** 110 //****************************************************************************** 111 VOID WIN32API EnableSEH() 112 { 113 if(!fSEHEnabled) { 114 ODIN_SetTIBSwitch(TRUE); 115 fSEHEnabled = TRUE; 116 } 117 return; 118 } 107 119 //****************************************************************************** 108 120 //****************************************************************************** … … 494 506 { 495 507 dprintf(("ODIN_SetTIBSwitch %d", fSwitchTIB)); 496 fSwitchTIBSel = fSwitchTIB; 497 if(fSwitchTIBSel) { 498 SetWin32TIB(); 499 } 500 else RestoreOS2TIB(); 508 if (!fSEHEnabled) { 509 fSwitchTIBSel = fSwitchTIB; 510 if(fSwitchTIBSel) { 511 SetWin32TIB(); 512 } 513 else RestoreOS2TIB(); 514 } else { 515 dprintf(("ODIN_SetTIBSwitch: ignored due to fSEHEnabled = TRUE")); 516 } 501 517 } 502 518 //******************************************************************************
Note:
See TracChangeset
for help on using the changeset viewer.