From: Ezio Melotti Date: Thu, 7 Mar 2013 16:37:13 +0000 (+0200) Subject: #11732: make suppress_crash_popup() work on Windows XP and Windows Server 2003. X-Git-Tag: v3.3.1rc1~83 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e846342f8ada25055fe1b9bcec407fe82e2c3f8e;p=thirdparty%2FPython%2Fcpython.git #11732: make suppress_crash_popup() work on Windows XP and Windows Server 2003. --- diff --git a/Lib/test/support.py b/Lib/test/support.py index ba1206cbb45b..19989acf6189 100644 --- a/Lib/test/support.py +++ b/Lib/test/support.py @@ -1911,10 +1911,12 @@ if sys.platform.startswith('win'): def suppress_crash_popup(): """Disable Windows Error Reporting dialogs using SetErrorMode.""" # see http://msdn.microsoft.com/en-us/library/windows/desktop/ms680621%28v=vs.85%29.aspx + # GetErrorMode is not available on Windows XP and Windows Server 2003, + # but SetErrorMode returns the previous value, so we can use that import ctypes k32 = ctypes.windll.kernel32 - old_error_mode = k32.GetErrorMode() SEM_NOGPFAULTERRORBOX = 0x02 + old_error_mode = k32.SetErrorMode(SEM_NOGPFAULTERRORBOX) k32.SetErrorMode(old_error_mode | SEM_NOGPFAULTERRORBOX) try: yield