diff options
author | marha <marha@users.sourceforge.net> | 2014-06-08 15:05:49 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-06-08 15:05:49 +0200 |
commit | 71cc8d9b7dc729934a29445cbd6d1f7a6d9ecbec (patch) | |
tree | ea689cdd51f395980ddc37dc33781635976f3a16 /mesalib/src/gallium/auxiliary/util/u_debug.c | |
parent | aec798fb4dc72d616732d0fa711faffaa8cd7590 (diff) | |
parent | 2acb86c9b086bdb9a3897db0b93820652e07cb59 (diff) | |
download | vcxsrv-71cc8d9b7dc729934a29445cbd6d1f7a6d9ecbec.tar.gz vcxsrv-71cc8d9b7dc729934a29445cbd6d1f7a6d9ecbec.tar.bz2 vcxsrv-71cc8d9b7dc729934a29445cbd6d1f7a6d9ecbec.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
apps/xwininfo/xwininfo.c
xorg-server/hw/xwin/glx/indirect.c
Diffstat (limited to 'mesalib/src/gallium/auxiliary/util/u_debug.c')
-rw-r--r-- | mesalib/src/gallium/auxiliary/util/u_debug.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mesalib/src/gallium/auxiliary/util/u_debug.c b/mesalib/src/gallium/auxiliary/util/u_debug.c index dc840e856..d79f31ea9 100644 --- a/mesalib/src/gallium/auxiliary/util/u_debug.c +++ b/mesalib/src/gallium/auxiliary/util/u_debug.c @@ -46,6 +46,12 @@ #include <limits.h> /* CHAR_BIT */ #include <ctype.h> /* isalnum */ +#ifdef _WIN32 +#include <windows.h> +#include <stdlib.h> +#endif + + void _debug_vprintf(const char *format, va_list ap) { static char buf[4096] = {'\0'}; @@ -64,6 +70,32 @@ void _debug_vprintf(const char *format, va_list ap) } +void +debug_disable_error_message_boxes(void) +{ +#ifdef _WIN32 + /* When Windows' error message boxes are disabled for this process (as is + * typically the case when running tests in an automated fashion) we disable + * CRT message boxes too. + */ + UINT uMode = SetErrorMode(0); + SetErrorMode(uMode); + if (uMode & SEM_FAILCRITICALERRORS) { + /* Disable assertion failure message box. + * http://msdn.microsoft.com/en-us/library/sas1dkb2.aspx + */ + _set_error_mode(_OUT_TO_STDERR); +#ifdef _MSC_VER + /* Disable abort message box. + * http://msdn.microsoft.com/en-us/library/e631wekh.aspx + */ + _set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT); +#endif + } +#endif /* _WIN32 */ +} + + #ifdef DEBUG void debug_print_blob( const char *name, const void *blob, |