2005-08-31 Tor Lillqvist * glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where the EXE and each DLL have their own atexit function chains. #define g_atexit as atexit instead. This means it has a better chance of doing what the caller wants. For instance, gtkhtml calls g_atexit() registering a function in gtkhtml itself. This caused a crash when g_atexit() was implemented as a function in the GLib DLL. The gtkhtml DLL was already unloaded by the time the GLib DLL got unloaded. * glib/gutils.c: #undef the #define mentioned above, to also get a real g_atexit() into the DLL for backward compatibility. Document the Windows behaviour of g_atexit(), and document the varying ways atexit() can behave in the context of dynamically loaded modules on Unix. 2005-08-31 Matthias Clasen * glib/glib.symbols: * glib/gquark.h: * glib/gdataset.c: 2005-08-28 Matthias Clasen * glib/giochannel.c: Unify some near-duplicate strings. (#314654, Clytie Siddall) 2005-08-26 Matthias Clasen * configure.in: Bump version to 2.9.0 2005-08-25 Tor Lillqvist Make also the g_spawn*() functions take parameters in the GLib file name encoding, i.e. UTF-8, on Windows. Has no impact on Unix API or ABI. Like the other GLib API that was earlier changed to use UTF-8 on Windows, the names of the functions that take UTF-8 have _utf8 suffixes added by using preprocessor macros in the header file. The old names are kept for functions with the old behaviour, taking parameters in the system codepage, for DLL ABI stability. * glib/gspawn.h: On Win32 add the suffix _utf8 to the names of the g_spawn*() functions. * glib/gspawn-win32.c: Use wide-char API on NT-based Windows. Convert parameters from UTF-8 to wide chars (NT) or system codepage (Win9x) and call the C library _wspawn*() or spawn*() functions respectvely. Add DLL ABI stability versions that take parameters in the system codepage. * glib/gspawn-win32-helper.c: On NT-based Windows use the wide-char versions of argv and envp, and use wide-char API to change directory and spawn the program to run. Remove the verbose debugging output, it was too complex to modify for the wide-char features. (Just add temporary debugging printouts if needed, no need to have them permanently in the source.) * glib/gspawn.c: Corresponding documentation updates. * glib/glib.symbols: Corresponding changes: Mark the ABI stability symbols as PRIVATE, add the new _utf8-suffixed ones. 2005-08-24 Stepan Kasal * glib/gtypes.h (G_MININT64): Cast the constant to gint64; it is guint64 otherwise and that can produce warnings about comparison between signed and unsigned. 2005-08-23 Matthias Clasen * glib/gutils.c: Fix the crt_externs.h include. 2005-08-23 Stepan Kasal * NEWS: Fix spelling of my first name. 2005-08-23 Matthias Clasen * Bump version * === Released 2.8.1 === * NEWS: Updates 2005-08-20 Hans Breuer * glib/makefile.msc.in : link with ws2_32.lib 2005-08-18 Tor Lillqvist * configure.in: Check for * glib/gbacktrace.c: Include on if HAVE_SYS_WAIT_H. 2005-08-18 Ross Burton * glib/gstring.c: Optimise single-character insertions. * glib/gutf8.c: Note copied code. * tests/string-test.c: Add tests for new optimisation, and fix a leak. 2005-08-17 Matthias Clasen * configure.in: Check for crt_externs.h and _NSGetEnviron. * glib/gutils.c: On Darwin, include crt-externs.h and define environ using _NSGetEnviron(). (#313731) 2005-08-16 Stepan Kasal * glib/gutils.c (g_get_any_init): Move the body of the big if... (g_get_any_init_do): ... to this new function. (g_get_any_init): Declare as inline. (g_get_any_init_locked): New inline function, does the locking. Make use of these two throughout the code. 2005-08-15 Matthias Clasen * glib/gbacktrace.c (g_on_error_stack_trace): Wait for the child process and then simply return. This makes The "S" option work as documented in g_on_error_query(). (#313125, Matthew F. Barnes) * glib/gunicode.h: Update the link to Unicode category values. (#313369, Behnam Esfahbod) * glib/gqueue.c (g_queue_find_custom): Clarify docs a little. (#311727, Tristan van Berkom) * glib/abicheck.sh, gobject/abicheck.sh: Make the check work on ia64 too, where some symbols ended up in yet another section.