2.19.1
[platform/upstream/glib.git] / ChangeLog
1 2008-12-01  Matthias Clasen  <mclasen@redhat.com>
2
3         * === Released 2.19.1 ===
4
5         * NEWS: Updates
6
7 2008-11-28  Behdad Esfahbod  <behdad@gnome.org>
8
9         Bug 562639 – g_parse_debug_flags() parsing "help"
10
11         * glib/gutils.c (g_parse_debug_string): Print available keys if
12         string is "help".
13
14 2008-11-28  Behdad Esfahbod  <behdad@gnome.org>
15
16         Bug 562638 – GDebugKey key member should be const
17
18         * glib/gutils.h: Change GDebugKey key member from gchar * to
19         const gchar *.
20
21 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
22
23         Bug 547264 – Missing "no flags" flag
24
25         * glib/gregex.c: Mention 0 as value for 'no flags' in some places..
26         Pointed out by Bastien Nocera
27
28 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
29
30         Bug 562544 – g_key_file_get_string and g_key_file_get_value
31         documentation does not explain the difference
32
33         * glib/gkeyfile.c (g_key_file_get_string): Explain the difference
34         to g_key_file_get_value(). Pointed out by Mart Raudsepp.
35
36 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
37
38         * glib/gkeyfile.c: Refer to @locale parameters as locale identifier
39         in docs.
40
41 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
42
43         Bug 557603 – carbon check output misplaced
44
45         * configure.in: Call AC_PROG_CPP early to avoid it messing up
46         carbon check output. Fix proposed by Christian Persch
47
48 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
49
50         Bug 559110 – Do not include libintl.h after glibintl.h
51
52         * glib/glibintl.h: Define bind_textdomain_codeset in the DISABLE_NLS
53         branch. Patch by Peter Kjellerstedt.
54
55         * glib/gutil.c: Don't include libintl.h directly.
56
57 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
58
59         Bug 562378 – callback return value not respected for callback option
60         with no arg
61
62         * glib/goption.c (parse_long_option): Return the parse_arg return
63         value even for no-arg callbacks. Patch by Christian Persch
64
65         * glib/tests/option-context.c: Add a test for a callback which
66         returns FALSE.
67
68 2008-11-23  Christian Persch  <chpe@gnome.org>
69
70         Bug 559413 – g_option_group_set_error_hook docs buglet
71
72         * glib/goption.c: Doc fix.
73
74 2008-11-23  Christian Persch  <chpe@gnome.org>
75
76         Bug 560568 – gkeyfile docs buglet
77
78         * glib/gkeyfile.c: Clarify the docs.
79
80 2008-11-23  Christian Persch  <chpe@gnome.org>
81
82         Bug 560569 – gkeyfile doesn't use the set list_separator in some cases
83
84         * glib/gkeyfile.c: (g_key_file_get_locale_string_list),
85         (g_key_file_set_locale_string_list), (g_key_file_set_integer_list),
86         (g_key_file_set_double_list): Use the key file's list separator character,
87         not the default one.
88
89         * glib/tests/keyfile.c: (test_lists), (test_reload_idempotency): Test
90         this.
91
92 2008-11-21  Christophe Fergeau <teuf@gnome.org>
93
94         Bug 561212 – GFileReadMoreCallback API doc refers to non-existant function
95
96         * gio/giotypes.h: fix name of function referred to in
97         GFileReadMoreCallback API documentation
98
99 2008-11-21  Matthias Clasen <mclasen@redhat.com>
100
101         * configure.in: Bump gtk-doc dependency to 1.11 for
102         nicer index-generation.
103
104 2008-11-14  Matthias Clasen <mclasen@redhat.com>
105
106         * NEWS: Updates
107
108 2008-11-04  Christian Dywan  <christian@imendio.com>
109
110         Bug 558672 – NULL key lookup using g_hash_table_lookup_extended()
111
112         * glib/ghash.c:
113         Clarify g_hash_table_lookup_extended
114
115 2008-11-02  Tor Lillqvist  <tml@novell.com>
116
117         * configure.in: Expand also build/win32/vs9/Makefile.
118
119 2008-10-31  Christian Dywan  <christian@imendio.com>
120
121         Bug 558513 – g_warn_if_fail FIXME in gtestutils
122
123         * glib/gtestutils.c (g_test_log_send):
124         Turn g_assert into g_warn_if_fail as advised
125
126 2008-10-31  Grahame Bowland  <grahame@angrygoats.net>
127
128         Bug 558185 – 'parent' variable in g_local_file_get_child_for_display_name() 
129         hits g_object_unref(NULL) assertion
130
131         * gio/glocalfile.c: 
132         - remove unused variable. Patch by Matt Johnston <matt@ucc.asn.au>
133
134 2008-10-29 16:11:14  Tim Janik  <timj@gtk.org>
135
136         * glib/gmacros.h: added G_PASTE() and G_STATIC_ASSERT(), based on
137         patches by Christian Persch and Christian Dywan. Fixes:
138         Bug 558381 - Add support for compile time assertions
139
140 2008-10-27  Joseph Pingenot  <gnomesvn@digitasaru.net>
141
142         * glib/ghash.c: changed "#GHashTableIterator" to "#GHashTableIter"
143         in the documentation-comments above g_hash_table_foreach_remove()
144         and g_hash_table_foreach_steal() to correctly name and link to
145         GHashTableIter.  This affects the GNOME documentation website
146         as well, so further steps are likely necessary beyond this subproject..
147
148 2008-10-23 Matthias Clasen <mclasen@redhat.com>
149
150         Bug 557210 – g_compute_checksum_for_* asserts with less than 2 bytes
151
152         * glib/gchecksum.c (g_compute_checksum_for_data): Accept 
153         lengths < 2. Patch by Tommi Komulainen
154
155         * tests/checksum-test.c: Add a test for this
156
157 2008-10-23 Matthias Clasen <mclasen@redhat.com>
158
159         Bug 556921 – gpoll.h breaks hal compilation
160
161         * glib/gpoll.h: Include gtypes.h. Pointed out by Anis Elleuch
162
163 2008-10-20 Christian Persch <chpe@gnome.org>
164
165         Bug 557087 – mem leak in g_content_types_get_registered
166                 
167         * gio/gcontenttype.c: Plug a mem leak.
168
169 2008-10-19  Michael Natterer  <mitch@imendio.com>
170
171         Bug 556186 – gpoll.h breaks gmain.h inclusion
172
173         * glib/gpoll.h: different fix: disallow direct inclusion
174         unconditionally again but make an exception if included from
175         gmain.h to maintain compatibility.
176
177 2008-10-16  Matthias Clasen <mclasen@redhat.com>
178
179         * configure.in: Bump version to 2.19.1
180
181         * === Released 2.19.0 ===
182
183         * NEWS: Updates
184
185 2008-10-14  Christian Persch <chpe@gnome.org>
186
187         Bug 556186 – gpoll.h breaks gmain.h inclusion
188
189         * glib/gpoll.h: Only disallow direct inclusion when
190         G_DISABLE_SINGLE_INCLUDES is defined.
191
192 2008-10-13  Sven Herzberg  <sven@imendio.com>
193
194         Bug 556101 – static mutex yields warnings with g++
195         Reviewed by Tim Janik
196
197         * configure.in: added an intermediate cast to gpointer
198
199 2008-10-13  Christian Persch <chpe@gnome.org>
200
201         Bug 555311 – format not a string literal and no format arguments
202
203         * glib/gmarkup.c:
204         * glib/gshell.c: Use literal errors where appropriate.
205
206 2008-10-10  Behdad Esfahbod  <behdad@gnome.org>
207
208         Bug 551355 – [PATCH] Make glib build with libtool 2.2
209
210         * autogen.sh: Accept libtool 2.2.   We are moving towards having
211         it working.
212
213 2008-10-10  Behdad Esfahbod  <behdad@gnome.org>
214
215         * configure.in: With libtool 2.x, regenerate libtool early.
216         Based on bug 552107, patch by Patryk Zawadzki
217
218 2008-10-10  Matthias Clasen  <mclasen@redhat.com>
219
220         Bug 554557 – Patch to fix gcc warnings about missing format 
221         specifiers
222
223         * glib/gmarkup.c:
224         * glib/gshell.c:
225         * glib/grel.c: Fix gcc warnings. Patch by Kjartan Maraas
226
227 2008-10-10  Matthias Clasen  <mclasen@redhat.com>
228
229         Bug 552861 – glib-2.0.m4 calls system(3) without storing its result
230
231         * m4macros/glib-2.0.m4: Cosmetic change to make -Werror happy.
232         Patch by Andreas Köhler
233
234 2008-10-08  Christian Persch  <chpe@gnome.org>
235
236         Bug 555313 – GFileAttribute boxed type get_type function should
237         use usual get_type pattern
238
239         * gio/gfileattribute.c (g_file_attribute_info_list_get_type): Use
240         g_once_init_enter/leave.
241
242 2008-10-08  Christian Persch  <chpe@gnome.org>
243
244         Bug 555314 – mem leak in gmarkup
245
246         * glib/gmarkup.c: (g_markup_parse_context_parse): Plug a mem leak.
247
248 2008-10-08  Tor Lillqvist  <tml@novell.com>
249
250         Bug 554790 - g_convert() misbehaves with winiconv versions
251
252         * glib/win_iconv.c (kernel_mbtowc): If converting from ASCII,
253         explicitly check for and reject 8bit chars. MultiByteToWideChar()
254         doesn't, at least not on XP.
255
256 2008-10-06  Matthias Clasen  <mclasen@redhat.com>
257
258         * glib/gtypes.h: Properly include gmacros.h
259
260 2008-10-06  Behdad Esfahbod  <behdad@gnome.org>
261
262         Bug 555309 – giochannel breaks on error
263         Patch from Christian Persch
264
265         * glib/giounix.c (g_io_unix_read), (g_io_unix_write),
266         (g_io_unix_seek), (g_io_unix_close), (g_io_unix_set_flags):
267         Don't shadow err.  Oops!
268
269 2008-10-06  Christophe Fergeau  <teuf@gnome.org>
270
271         Bug 555224 – Improve g_format_size_for_display doc
272         
273         * glib/gfileutils.c: change g_format_size_for_display API doc to
274         explicitly say that the returned string has to be freed. Change
275         spelling of "newly allocated" to "newly-allocated" in g_file_read_link
276         API doc to be more consistent with what is done in that file.
277
278 2008-10-01  David Zeuthen  <davidz@redhat.com>
279
280         * README.in: Add "Notes about glib 2.20" section detailing the
281         ramifications of the patch from bug #528670.
282
283 2008-09-30  Behdad Esfahbod  <behdad@gnome.org>
284
285         Bug 554092 – glib doesn't return G_FILE_ERROR_NOENT et al on OS X
286
287         * glib/giounix.c (g_io_unix_read), (g_io_unix_write),
288         (g_io_unix_seek), (g_io_unix_close), (g_io_unix_set_flags),
289         (g_io_unix_get_flags), (g_io_channel_new_file):
290         Like mclasen says: "well, thats the way errno works...,
291         save it or loose it".  Save errno.
292
293 2008-09-30  Tor Lillqvist  <tml@novell.com>
294
295         * Makefile.decl
296         * glib/tests/Makefile.am: Bypass gtester related stuff on Windows.
297
298 2008-09-30  Tor Lillqvist  <tml@novell.com>
299
300         * glib/gprintf.c
301         * glib/gnulib/vasnprintf.c: Don't define _GNU_SOURCE on Windows,
302         as _GNU_SOURCE has unintended side effects when compiling against
303         newest mingw headers.
304
305 2008-09-26  Dan Winship  <danw@gnome.org>
306
307         Bug 553447 – g_assert_no_error()
308
309         * glib/gtestutils.h (g_assert_no_error, g_assert_error): Macros to
310         assert that a GError is not set, or else is set to a particular
311         error.
312
313         * glib/gtestutils.c (g_assertion_message_error): utility for
314         those macros
315
316         * glib/tests/keyfile.c:
317         * tests/asyncqueue-test.c:
318         * tests/bookmarkfile-test.c:
319         * tests/convert-test.c:
320         * tests/file-test.c: Use g_assert_error/g_assert_no_error
321
322 2008-09-26  Dan Winship  <danw@gnome.org>
323
324         * glib/gthreadpool.c (wakeup_thread_marker): make this a "const
325         gpointer" rather than a gconstpointer to avoid warnings later
326
327         * glib/pcre/pcre_ucp_searchfuncs.c:
328         * glib/pcre/pcre_valid_utf8.c: #include "config.h"
329
330         * glib/tests/printf.c (test_d): fool gcc into not warning about
331         some printf format strings that we know are dubious
332
333 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
334
335         Bug 553857 – gbacktrace.h requires signal.h
336
337         * glib/gbacktrace.h: Include signal.h for raise(). 
338         Pointed out by Sebastien Bacher
339
340 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
341
342         Bug 553724 – python interpretter path not patched in correctly
343
344         * glib/Makefile.am: Fix the sed magic to replace python.
345
346 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
347
348         * glib/gmain.c: Add some more docs.
349
350         * glib/giochannel.c: Move more docs inline, and improve them
351         on the way.
352
353 2008-09-25  Tor Lillqvist  <tml@novell.com>
354
355         Bug 553820 - gpoll.c: undeclared identifier
356
357         * glib/gmain.c
358         * glib/gpoll.c: Make the g_poll() function non-static also on
359         Windows. Prefix an underscore to the g_main_poll_debug variable
360         and make it non-static in gmain.c so that it can be used in
361         gpoll.c. Add back missing variable declaration.
362
363 2008-09-25  Tor Lillqvist  <tml@novell.com>
364
365         * glib/gspawn-win32.c (do_spawn_with_pipes) (do_spawn_directly):
366         Just ignore the child_setup function, never call it. The is no
367         situation in which it could be useful on Windows. Do print a
368         warning, like before.
369
370         * glib/gspawn.c (g_spawn_async_with_pipes): Corresponding change
371         in documentation.
372
373 2008-09-24  Sven Herzberg  <sven@imendio.com>
374
375         Be a little more explcit in the docs. Includes Owen's requested
376         changes.
377
378         * glib/gmain.c: improved documentation for g_source_attach() and
379         g_source_destroy()
380
381 2008-09-23  Michael Natterer  <mitch@imendio.com>
382
383         * glib/glib.h: #include <glib/gpoll.h>
384
385         * glib/gpoll.h: #error out if gpoll.h is included directly.
386
387         * glib/gpoll.c: remove trailing whitespace.
388
389 2008-09-23  Dan Winship  <danw@gnome.org>
390
391         * glib/gpoll.[ch] (g_poll): Move this out of gmain.c and make it part
392         of the public API. (Part of Bug 505361 - gunixinputstream.c assumes
393         poll() available.)
394
395 2008-09-23  Tor Lillqvist  <tml@novell.com>
396
397         * glib/gmain.c (poll_rest) [Win32]: Fix embarrassing bug: I was
398         passing an incorrect third parameter to memmove(), had forgotten
399         to multiply by the size of the table entry. Just use a for loop
400         instead, clearer. Odd I didn't notice when testing this code.
401
402 2008-09-19  Hans Petter Jansson  <hpj@novell.com>
403
404         Rewrite most of GHashTable to use open addressing with quadratic
405         probing instead of chaining. This has the potential to reduce memory
406         fragmentation significantly, while being slightly faster due to
407         better locality and no need to call alloc/free functions for nodes.
408         Benchmarks suggest it also uses less memory overall.
409
410         * glib/ghash.c (prime_mod): Table of suitable primes for
411         initial-probe distribution.
412         (g_hash_table_set_shift): New function.
413         (g_hash_table_find_closest_shift): New function.
414         (g_hash_table_set_shift_from_size): New function.
415         (g_hash_table_lookup_node_for_insertion): New function.
416         (g_hash_table_lookup_node): Rewritten to return node index instead of
417         pointer, use quadratic probe on flat table, and not return insertion
418         data. The latter saves some computation for read-only lookups.
419         (g_hash_table_remove_node): Rewrite to take a pointer directly to the
420         node structure to remove, and clear that. Remove unlinking code.
421         (g_hash_table_remove_all_nodes): Rewrite to not clear nodes
422         individually, but en masse using memset () after potentially calling
423         notify functions.
424         (iter_remove_or_steal): Use new data structure and algorithm. Vastly
425         simplified - now just a call to g_hash_table_remove_node ().
426         (g_hash_table_resize): New resize code, re-indexing with new prime
427         and cleaning up tombstones.
428         (g_hash_table_maybe_resize): Table may hold 8 buckets minimum, no less
429         than 1/4 load excluding tombstones, and no more than 15/16 load
430         including tombstones. These numbers are the results of a lot of
431         benchmarking with multiple complex applications, and should not be
432         changed lightly.
433         (g_hash_table_iter_next)
434         (g_hash_table_lookup)
435         (g_hash_table_lookup_extended)
436         (g_hash_table_insert_internal)
437         (g_hash_table_remove_internal)
438         (g_hash_table_foreach_remove_or_steal)
439         (g_hash_table_foreach)
440         (g_hash_table_find)
441         (g_hash_table_get_keys)
442         (g_hash_table_get_values): Use new data structure and algorithm,
443         fairly trivial changes.
444
445 2008-09-19  Tor Lillqvist  <tml@novell.com>
446
447         * glib-zip.in: Look for man pages in share/man.
448
449         * glib/gutils.c (_glib_get_dll_directory)
450         * glib/gspawn-win32.c (do_spawn_with_pipes): Be a bit less
451         restrictive, look for the helper programs in the same folder where
452         the GLib DLL is, not necessarily in a "bin" subfolder of the top
453         GLib installation folder.
454
455 2008-09-18  Matthias Clasen <mclasen@redhat.com>
456
457         * configure.in: Bump version to 2.19.0
458
459         * ChangeLog.pre-2-18: rotate ChangeLog
460         
461         * === branch for 2.18 ===