diff --git a/ChangeLog b/ChangeLog index 69df27710..f98db4e2d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2005-01-19 Tor Lillqvist + + * configure.in: sh portability fix. Use "test" and not [. + (#163144, Robert Ögren) + + * glib/gbacktrace.c (g_on_error_stack_trace): On Win32 call + G_BREAKPOINT() if being debugged. + + * glib/gmessages.c (g_logv): For fatal messages on Win32, use + G_BREAKPOINT() also without G_ENABLE_DEBUG, but only if being + debugged. Suggestion by Ulf Lamping. Otherwise use FatalAppExit(). + 2005-01-18 Matthias Clasen * glib/gkeyfile.c (g_key_file_get_boolean_list): Fix a diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 69df27710..f98db4e2d 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,15 @@ +2005-01-19 Tor Lillqvist + + * configure.in: sh portability fix. Use "test" and not [. + (#163144, Robert Ögren) + + * glib/gbacktrace.c (g_on_error_stack_trace): On Win32 call + G_BREAKPOINT() if being debugged. + + * glib/gmessages.c (g_logv): For fatal messages on Win32, use + G_BREAKPOINT() also without G_ENABLE_DEBUG, but only if being + debugged. Suggestion by Ulf Lamping. Otherwise use FatalAppExit(). + 2005-01-18 Matthias Clasen * glib/gkeyfile.c (g_key_file_get_boolean_list): Fix a diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 69df27710..f98db4e2d 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,15 @@ +2005-01-19 Tor Lillqvist + + * configure.in: sh portability fix. Use "test" and not [. + (#163144, Robert Ögren) + + * glib/gbacktrace.c (g_on_error_stack_trace): On Win32 call + G_BREAKPOINT() if being debugged. + + * glib/gmessages.c (g_logv): For fatal messages on Win32, use + G_BREAKPOINT() also without G_ENABLE_DEBUG, but only if being + debugged. Suggestion by Ulf Lamping. Otherwise use FatalAppExit(). + 2005-01-18 Matthias Clasen * glib/gkeyfile.c (g_key_file_get_boolean_list): Fix a diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 69df27710..f98db4e2d 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,15 @@ +2005-01-19 Tor Lillqvist + + * configure.in: sh portability fix. Use "test" and not [. + (#163144, Robert Ögren) + + * glib/gbacktrace.c (g_on_error_stack_trace): On Win32 call + G_BREAKPOINT() if being debugged. + + * glib/gmessages.c (g_logv): For fatal messages on Win32, use + G_BREAKPOINT() also without G_ENABLE_DEBUG, but only if being + debugged. Suggestion by Ulf Lamping. Otherwise use FatalAppExit(). + 2005-01-18 Matthias Clasen * glib/gkeyfile.c (g_key_file_get_boolean_list): Fix a diff --git a/configure.in b/configure.in index 99b33df2f..c0fc06d89 100644 --- a/configure.in +++ b/configure.in @@ -170,7 +170,7 @@ AC_SUBST(TESTGMODULE_EXP) if test "$glib_native_win32" = "yes"; then AC_CHECK_TOOL(NM, nm, no) - if [ "$NM" = no ]; then + if test "$NM" = no; then AC_MSG_ERROR([*** Could not find an implementation of nm in your PATH.]) fi AC_CHECK_TOOL(RANLIB, ranlib, :) diff --git a/glib/gbacktrace.c b/glib/gbacktrace.c index 004a6aa9c..ccd1f827e 100644 --- a/glib/gbacktrace.c +++ b/glib/gbacktrace.c @@ -185,7 +185,10 @@ g_on_error_stack_trace (const gchar *prg_name) ; glib_on_error_halt = TRUE; #else - abort (); + if (IsDebuggerPresent ()) + G_BREAKPOINT (); + else + abort (); #endif } diff --git a/glib/gmessages.c b/glib/gmessages.c index eb11d168c..5b394f4c5 100644 --- a/glib/gmessages.c +++ b/glib/gmessages.c @@ -476,17 +476,28 @@ g_logv (const gchar *log_domain, #ifdef G_OS_WIN32 gchar *locale_msg = g_locale_from_utf8 (fatal_msg_buf, -1, NULL, NULL, NULL); - MessageBox (NULL, locale_msg, NULL, - MB_ICONERROR|MB_SETFOREGROUND); -#endif -#if defined (G_ENABLE_DEBUG) && (defined (SIGTRAP) || defined (G_OS_WIN32)) + if (IsDebuggerPresent () && !(test_level & G_LOG_FLAG_RECURSION)) + { + MessageBox (NULL, locale_msg, NULL, + MB_ICONERROR|MB_SETFOREGROUND); + G_BREAKPOINT (); + } + + FatalAppExit (0, locale_msg); + /* In case somebody runs a debug Windows and chooses to + * continue, don't let her. + */ + abort (); +#else +#if defined (G_ENABLE_DEBUG) && defined (SIGTRAP) if (!(test_level & G_LOG_FLAG_RECURSION)) G_BREAKPOINT (); else abort (); -#else /* !G_ENABLE_DEBUG || !(SIGTRAP || G_OS_WIN32) */ +#else /* !G_ENABLE_DEBUG || !SIGTRAP */ abort (); -#endif /* !G_ENABLE_DEBUG || !(SIGTRAP || G_OS_WIN32) */ +#endif /* !G_ENABLE_DEBUG || !SIGTRAP */ +#endif /* !G_OS_WIN32 */ } depth--;