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