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