Wrapping atexit() is a bad idea on Windows, where the EXE and each DLL
[platform/upstream/glib.git] / ChangeLog
1 2005-08-31  Tor Lillqvist  <tml@novell.com>
2
3         * glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where
4         the EXE and each DLL have their own atexit function chains.
5
6         #define g_atexit as atexit instead. This means it has a
7         better chance of doing what the caller wants. For instance,
8         gtkhtml calls g_atexit() registering a function in gtkhtml
9         itself. This caused a crash when g_atexit() was implemented as a
10         function in the GLib DLL. The gtkhtml DLL was already unloaded by
11         the time the GLib DLL got unloaded.
12
13         * glib/gutils.c: #undef the #define mentioned above, to also get a
14         real g_atexit() into the DLL for backward compatibility. Document
15         the Windows behaviour of g_atexit(), and document the varying ways
16         atexit() can behave in the context of dynamically loaded modules
17         on Unix.
18
19 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
20
21         * glib/glib.symbols: 
22         * glib/gquark.h: 
23         * glib/gdataset.c: 
24
25 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
26
27         * glib/giochannel.c: Unify some near-duplicate strings. (#314654,
28         Clytie Siddall)
29         
30 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
31
32         * configure.in: Bump version to 2.9.0
33
34 2005-08-25  Tor Lillqvist  <tml@novell.com>
35
36         Make also the g_spawn*() functions take parameters in the GLib
37         file name encoding, i.e. UTF-8, on Windows. Has no impact on Unix
38         API or ABI. Like the other GLib API that was earlier changed to
39         use UTF-8 on Windows, the names of the functions that take UTF-8
40         have _utf8 suffixes added by using preprocessor macros in the
41         header file. The old names are kept for functions with the old
42         behaviour, taking parameters in the system codepage, for DLL ABI
43         stability.
44         
45         * glib/gspawn.h: On Win32 add the suffix _utf8 to the names of the
46         g_spawn*() functions.
47         
48         * glib/gspawn-win32.c: Use wide-char API on NT-based
49         Windows. Convert parameters from UTF-8 to wide chars (NT) or
50         system codepage (Win9x) and call the C library _wspawn*() or
51         spawn*() functions respectvely. Add DLL ABI stability versions
52         that take parameters in the system codepage.
53
54         * glib/gspawn-win32-helper.c: On NT-based Windows use the
55         wide-char versions of argv and envp, and use wide-char API to
56         change directory and spawn the program to run. Remove the verbose
57         debugging output, it was too complex to modify for the wide-char
58         features. (Just add temporary debugging printouts if needed, no
59         need to have them permanently in the source.)
60
61         * glib/gspawn.c: Corresponding documentation updates.
62
63         * glib/glib.symbols: Corresponding changes: Mark the ABI stability
64         symbols as PRIVATE, add the new _utf8-suffixed ones.
65
66 2005-08-24  Stepan Kasal  <kasal@ucw.cz>
67
68         * glib/gtypes.h (G_MININT64): Cast the constant to gint64; it is
69         guint64 otherwise and that can produce warnings about comparison
70         between signed and unsigned.
71
72 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
73
74         * glib/gutils.c: Fix the crt_externs.h include.
75
76 2005-08-23  Stepan Kasal  <kasal@ucw.cz>
77
78         * NEWS: Fix spelling of my first name.
79
80 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
81
82         * Bump version
83
84         * === Released 2.8.1 ===
85
86         * NEWS: Updates
87
88 2005-08-20  Hans Breuer  <hans@breuer.org>
89
90         * glib/makefile.msc.in : link with ws2_32.lib
91
92 2005-08-18  Tor Lillqvist  <tml@novell.com>
93
94         * configure.in: Check for <sys/wait.h>
95
96         * glib/gbacktrace.c: Include <sys/wait.h> on if HAVE_SYS_WAIT_H.
97
98 2005-08-18  Ross Burton  <ross@burtonini.com>
99
100         * glib/gstring.c:
101         Optimise single-character insertions.
102         
103         * glib/gutf8.c:
104         Note copied code.
105         
106         * tests/string-test.c:
107         Add tests for new optimisation, and fix a leak.
108
109 2005-08-17  Matthias Clasen  <mclasen@redhat.com>
110
111         * configure.in: Check for crt_externs.h and _NSGetEnviron.
112
113         * glib/gutils.c: On Darwin, include crt-externs.h and
114         define environ using _NSGetEnviron().  (#313731)
115
116 2005-08-16  Stepan Kasal  <kasal@ucw.cz>
117
118         * glib/gutils.c (g_get_any_init): Move the body of the big if...
119         (g_get_any_init_do): ... to this new function.
120         (g_get_any_init): Declare as inline.
121         (g_get_any_init_locked): New inline function, does the locking.
122         Make use of these two throughout the code.
123
124 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
125
126         * glib/gbacktrace.c (g_on_error_stack_trace): Wait for
127         the child process and then simply return. This makes 
128         The "S" option work as documented in g_on_error_query().
129         (#313125, Matthew F. Barnes)
130
131         * glib/gunicode.h: Update the link to Unicode category
132         values.  (#313369, Behnam Esfahbod)
133
134         * glib/gqueue.c (g_queue_find_custom): Clarify docs
135         a little.  (#311727, Tristan van Berkom)
136
137         * glib/abicheck.sh, gobject/abicheck.sh: Make the 
138         check work on ia64 too, where some symbols ended up 
139         in yet another section.
140