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