2.19.0
[platform/upstream/glib.git] / ChangeLog
1 2008-10-16  Matthias Clasen <mclasen@redhat.com>
2
3         * === Released 2.19.0 ===
4
5         * NEWS: Updates
6
7 2008-10-14  Christian Persch <chpe@gnome.org>
8
9         Bug 556186 – gpoll.h breaks gmain.h inclusion
10
11         * glib/gpoll.h: Only disallow direct inclusion when
12         G_DISABLE_SINGLE_INCLUDES is defined.
13
14 2008-10-13  Sven Herzberg  <sven@imendio.com>
15
16         Bug 556101 – static mutex yields warnings with g++
17         Reviewed by Tim Janik
18
19         * configure.in: added an intermediate cast to gpointer
20
21 2008-10-13  Christian Persch <chpe@gnome.org>
22
23         Bug 555311 – format not a string literal and no format arguments
24
25         * glib/gmarkup.c:
26         * glib/gshell.c: Use literal errors where appropriate.
27
28 2008-10-10  Behdad Esfahbod  <behdad@gnome.org>
29
30         Bug 551355 – [PATCH] Make glib build with libtool 2.2
31
32         * autogen.sh: Accept libtool 2.2.   We are moving towards having
33         it working.
34
35 2008-10-10  Behdad Esfahbod  <behdad@gnome.org>
36
37         * configure.in: With libtool 2.x, regenerate libtool early.
38         Based on bug 552107, patch by Patryk Zawadzki
39
40 2008-10-10  Matthias Clasen  <mclasen@redhat.com>
41
42         Bug 554557 – Patch to fix gcc warnings about missing format 
43         specifiers
44
45         * glib/gmarkup.c:
46         * glib/gshell.c:
47         * glib/grel.c: Fix gcc warnings. Patch by Kjartan Maraas
48
49 2008-10-10  Matthias Clasen  <mclasen@redhat.com>
50
51         Bug 552861 – glib-2.0.m4 calls system(3) without storing its result
52
53         * m4macros/glib-2.0.m4: Cosmetic change to make -Werror happy.
54         Patch by Andreas Köhler
55
56 2008-10-08  Christian Persch  <chpe@gnome.org>
57
58         Bug 555313 – GFileAttribute boxed type get_type function should
59         use usual get_type pattern
60
61         * gio/gfileattribute.c (g_file_attribute_info_list_get_type): Use
62         g_once_init_enter/leave.
63
64 2008-10-08  Christian Persch  <chpe@gnome.org>
65
66         Bug 555314 – mem leak in gmarkup
67
68         * glib/gmarkup.c: (g_markup_parse_context_parse): Plug a mem leak.
69
70 2008-10-08  Tor Lillqvist  <tml@novell.com>
71
72         Bug 554790 - g_convert() misbehaves with winiconv versions
73
74         * glib/win_iconv.c (kernel_mbtowc): If converting from ASCII,
75         explicitly check for and reject 8bit chars. MultiByteToWideChar()
76         doesn't, at least not on XP.
77
78 2008-10-06  Matthias Clasen  <mclasen@redhat.com>
79
80         * glib/gtypes.h: Properly include gmacros.h
81
82 2008-10-06  Behdad Esfahbod  <behdad@gnome.org>
83
84         Bug 555309 – giochannel breaks on error
85         Patch from Christian Persch
86
87         * glib/giounix.c (g_io_unix_read), (g_io_unix_write),
88         (g_io_unix_seek), (g_io_unix_close), (g_io_unix_set_flags):
89         Don't shadow err.  Oops!
90
91 2008-10-06  Christophe Fergeau  <teuf@gnome.org>
92
93         Bug 555224 – Improve g_format_size_for_display doc
94         
95         * glib/gfileutils.c: change g_format_size_for_display API doc to
96         explicitly say that the returned string has to be freed. Change
97         spelling of "newly allocated" to "newly-allocated" in g_file_read_link
98         API doc to be more consistent with what is done in that file.
99
100 2008-10-01  David Zeuthen  <davidz@redhat.com>
101
102         * README.in: Add "Notes about glib 2.20" section detailing the
103         ramifications of the patch from bug #528670.
104
105 2008-09-30  Behdad Esfahbod  <behdad@gnome.org>
106
107         Bug 554092 – glib doesn't return G_FILE_ERROR_NOENT et al on OS X
108
109         * glib/giounix.c (g_io_unix_read), (g_io_unix_write),
110         (g_io_unix_seek), (g_io_unix_close), (g_io_unix_set_flags),
111         (g_io_unix_get_flags), (g_io_channel_new_file):
112         Like mclasen says: "well, thats the way errno works...,
113         save it or loose it".  Save errno.
114
115 2008-09-30  Tor Lillqvist  <tml@novell.com>
116
117         * Makefile.decl
118         * glib/tests/Makefile.am: Bypass gtester related stuff on Windows.
119
120 2008-09-30  Tor Lillqvist  <tml@novell.com>
121
122         * glib/gprintf.c
123         * glib/gnulib/vasnprintf.c: Don't define _GNU_SOURCE on Windows,
124         as _GNU_SOURCE has unintended side effects when compiling against
125         newest mingw headers.
126
127 2008-09-26  Dan Winship  <danw@gnome.org>
128
129         Bug 553447 – g_assert_no_error()
130
131         * glib/gtestutils.h (g_assert_no_error, g_assert_error): Macros to
132         assert that a GError is not set, or else is set to a particular
133         error.
134
135         * glib/gtestutils.c (g_assertion_message_error): utility for
136         those macros
137
138         * glib/tests/keyfile.c:
139         * tests/asyncqueue-test.c:
140         * tests/bookmarkfile-test.c:
141         * tests/convert-test.c:
142         * tests/file-test.c: Use g_assert_error/g_assert_no_error
143
144 2008-09-26  Dan Winship  <danw@gnome.org>
145
146         * glib/gthreadpool.c (wakeup_thread_marker): make this a "const
147         gpointer" rather than a gconstpointer to avoid warnings later
148
149         * glib/pcre/pcre_ucp_searchfuncs.c:
150         * glib/pcre/pcre_valid_utf8.c: #include "config.h"
151
152         * glib/tests/printf.c (test_d): fool gcc into not warning about
153         some printf format strings that we know are dubious
154
155 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
156
157         Bug 553857 – gbacktrace.h requires signal.h
158
159         * glib/gbacktrace.h: Include signal.h for raise(). 
160         Pointed out by Sebastien Bacher
161
162 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
163
164         Bug 553724 – python interpretter path not patched in correctly
165
166         * glib/Makefile.am: Fix the sed magic to replace python.
167
168 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
169
170         * glib/gmain.c: Add some more docs.
171
172         * glib/giochannel.c: Move more docs inline, and improve them
173         on the way.
174
175 2008-09-25  Tor Lillqvist  <tml@novell.com>
176
177         Bug 553820 - gpoll.c: undeclared identifier
178
179         * glib/gmain.c
180         * glib/gpoll.c: Make the g_poll() function non-static also on
181         Windows. Prefix an underscore to the g_main_poll_debug variable
182         and make it non-static in gmain.c so that it can be used in
183         gpoll.c. Add back missing variable declaration.
184
185 2008-09-25  Tor Lillqvist  <tml@novell.com>
186
187         * glib/gspawn-win32.c (do_spawn_with_pipes) (do_spawn_directly):
188         Just ignore the child_setup function, never call it. The is no
189         situation in which it could be useful on Windows. Do print a
190         warning, like before.
191
192         * glib/gspawn.c (g_spawn_async_with_pipes): Corresponding change
193         in documentation.
194
195 2008-09-24  Sven Herzberg  <sven@imendio.com>
196
197         Be a little more explcit in the docs. Includes Owen's requested
198         changes.
199
200         * glib/gmain.c: improved documentation for g_source_attach() and
201         g_source_destroy()
202
203 2008-09-23  Michael Natterer  <mitch@imendio.com>
204
205         * glib/glib.h: #include <glib/gpoll.h>
206
207         * glib/gpoll.h: #error out if gpoll.h is included directly.
208
209         * glib/gpoll.c: remove trailing whitespace.
210
211 2008-09-23  Dan Winship  <danw@gnome.org>
212
213         * glib/gpoll.[ch] (g_poll): Move this out of gmain.c and make it part
214         of the public API. (Part of Bug 505361 - gunixinputstream.c assumes
215         poll() available.)
216
217 2008-09-23  Tor Lillqvist  <tml@novell.com>
218
219         * glib/gmain.c (poll_rest) [Win32]: Fix embarrassing bug: I was
220         passing an incorrect third parameter to memmove(), had forgotten
221         to multiply by the size of the table entry. Just use a for loop
222         instead, clearer. Odd I didn't notice when testing this code.
223
224 2008-09-19  Hans Petter Jansson  <hpj@novell.com>
225
226         Rewrite most of GHashTable to use open addressing with quadratic
227         probing instead of chaining. This has the potential to reduce memory
228         fragmentation significantly, while being slightly faster due to
229         better locality and no need to call alloc/free functions for nodes.
230         Benchmarks suggest it also uses less memory overall.
231
232         * glib/ghash.c (prime_mod): Table of suitable primes for
233         initial-probe distribution.
234         (g_hash_table_set_shift): New function.
235         (g_hash_table_find_closest_shift): New function.
236         (g_hash_table_set_shift_from_size): New function.
237         (g_hash_table_lookup_node_for_insertion): New function.
238         (g_hash_table_lookup_node): Rewritten to return node index instead of
239         pointer, use quadratic probe on flat table, and not return insertion
240         data. The latter saves some computation for read-only lookups.
241         (g_hash_table_remove_node): Rewrite to take a pointer directly to the
242         node structure to remove, and clear that. Remove unlinking code.
243         (g_hash_table_remove_all_nodes): Rewrite to not clear nodes
244         individually, but en masse using memset () after potentially calling
245         notify functions.
246         (iter_remove_or_steal): Use new data structure and algorithm. Vastly
247         simplified - now just a call to g_hash_table_remove_node ().
248         (g_hash_table_resize): New resize code, re-indexing with new prime
249         and cleaning up tombstones.
250         (g_hash_table_maybe_resize): Table may hold 8 buckets minimum, no less
251         than 1/4 load excluding tombstones, and no more than 15/16 load
252         including tombstones. These numbers are the results of a lot of
253         benchmarking with multiple complex applications, and should not be
254         changed lightly.
255         (g_hash_table_iter_next)
256         (g_hash_table_lookup)
257         (g_hash_table_lookup_extended)
258         (g_hash_table_insert_internal)
259         (g_hash_table_remove_internal)
260         (g_hash_table_foreach_remove_or_steal)
261         (g_hash_table_foreach)
262         (g_hash_table_find)
263         (g_hash_table_get_keys)
264         (g_hash_table_get_values): Use new data structure and algorithm,
265         fairly trivial changes.
266
267 2008-09-19  Tor Lillqvist  <tml@novell.com>
268
269         * glib-zip.in: Look for man pages in share/man.
270
271         * glib/gutils.c (_glib_get_dll_directory)
272         * glib/gspawn-win32.c (do_spawn_with_pipes): Be a bit less
273         restrictive, look for the helper programs in the same folder where
274         the GLib DLL is, not necessarily in a "bin" subfolder of the top
275         GLib installation folder.
276
277 2008-09-18  Matthias Clasen <mclasen@redhat.com>
278
279         * configure.in: Bump version to 2.19.0
280
281         * ChangeLog.pre-2-18: rotate ChangeLog
282         
283         * === branch for 2.18 ===