Don't call cb_funcs->unref while holding the context lock. (#320886, Andy
[platform/upstream/glib.git] / ChangeLog.pre-2-10
1 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
2
3         * glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref
4         while holding the context lock.  (#320886, Andy Wingo)
5
6 2005-11-07  Billy Biggs <vektor@dumbterm.net>
7
8         * tests/refcount/Makefile.am: Add a missing reference to libglib
9         in the LDADD for this test.
10
11 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
12
13         * glib/gmem.c (g_allocator_new): We need to set n_preallocs to a
14         nonzero value, otherwise GTK+ 2.8 breaks when compiled against
15         GLib 2.9.  (#320755, Luca Ferretti)
16
17 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
18
19         * glib/Makefile.am: Apply a patch from Behdad Esfahbod to 
20         use a faster lookup table for g_unichar_get_mirror_char().
21         * glib/gmirroringtable.h: The new table.
22         * glib/gunichartables.h: Remove bidi_mirroring_table.
23         * glib/gen-unicode-tables.pl: Don't generate the mirroring
24         table.
25         * glib/glib-mirroring-tab/*: Sources for the program
26         which generated gmirroringtable.h.
27
28         * glib/glist.c: Avoid some code duplication.
29
30         * glib/gscanner.h: Include gdataset.h.  (#320322)
31
32         * glib/gdebug.h: add new GDebugFlag for fatal_criticals
33         * glib/gmessages.c: (_g_debug_init): handle G_DEBUG=fatal_criticals,
34         to help find critical warnings in applications.  (#320017,
35         Vincent Untz)
36
37 2005-11-02  Tor Lillqvist  <tml@novell.com>
38
39         * glib/glib.symbols: Remove large amount of trailing whitespace
40         from one line. Remove #ifdef G_UNDEFINED from around
41         g_hash_table_new and g_hash_table_new_full symbols, what was the
42         purpose of that? Add the g_slice functions.
43
44 Tue Nov  1 16:24:20 2005  Tim Janik  <timj@imendio.com>
45
46         * glib/gmem.[hc]: prepared deprecation of GMemChunk and GAllocator.
47         added g_slice_*() API to allocate and cache small bits of memory.
48         an actuall allocator implementation for g_slice_*() is still pending.
49
50         * glib/gthread.[hc]: changes from a patch by Matthias Clasen.
51         changed GRealThread list to use in-structure *next; fields instead
52         of GSList, in order for thread iteration to not depenend on g_slice_*()
53         indirectly.
54         _g_thread_mem_private_get():
55         _g_thread_mem_private_set(): added accessors for private memory,
56         needed because the ordinary GPrivate implementation relies on GArray
57         and GSList and therefore indirectly on working g_slice_*() allocations.
58
59         * glib/gthread.[hc]:
60         g_thread_foreach(): new public API function to loop over all existing threads.
61
62         * glib/gdataset.c:
63         * glib/gstring.c:
64         * glib/gcache.c:
65         * glib/garray.c: 
66         * glib/gqueue.c:
67         * glib/gslist.c:
68         * glib/glist.c:
69         * glib/ghash.c:
70         * glib/gtree.c:
71         * glib/ghook.c:
72         * glib/gmain.c:
73         * glib/gnode.c:
74         removed GAllocator and free list usages and accompanying locks.
75         use g_slice_*() API to allocate and cache small bits of memory.
76
77         * glib/ghook.h: removed GMemChunk field from public API.
78
79         * glib/gslist.h:
80         * glib/glist.h: deprecate allocator API, provide _free1() for consistency.
81
82         * glib/gnode.h: deprecate allocator API.
83
84         * glib/gmain.c: reordered GPollRec fields so g_slice_free_chain() can
85         be used for poll rec lists.
86
87         * glib/grel.c: removed mem chunk usage, and allocated tuples via g_slice_*().
88         g_relation_destroy(): free all tuples from the all_tuples hash table,
89         this effectively maintains the life time track keeping of tuples.
90         g_relation_delete_tuple(): free tuples which are removed from the
91         all_tuples hash table. this fixes a temporary leak that was present
92         in the memchunk code until the destruction of the relation.
93
94 2005-10-29  Matthias Clasen  <mclasen@redhat.com>
95
96         * tests/convert-test.c: Add some tests for conversions between
97         UTF-8, UCS-4 and UTF-16.
98
99         * glib/gutf8.c (g_utf8_to_ucs4, g_utf8_to_utf16): Fix handling
100         of len == -1, noticed by Morten Welinder.
101
102 2005-10-27  Erdal Ronahi  <erdal.ronahi@gmail.com>
103
104         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
105
106 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
107
108         * glib/gutf8.c (g_ucs4_to_utf8): Don't set items_read twice
109         in the error case, and add some documentation.  (#319806, Morten
110         Welinder)
111
112 2005-10-19  Manish Singh  <yosh@gimp.org>
113
114         * configure.in: Use AC_CHECK_FUNCS for _NSGetEnviron, to get the
115         config.h symbol automatically. Fixes bug #313731.
116
117 2005-10-19  Tor Lillqvist  <tml@novell.com>
118
119         * glib/gwin32.c (g_win32_get_package_installation_directory):
120         Return a g_strdup()ed copy of the value stored in the hash table,
121         so that it can be g_free()d without leaving a dangling pointer in
122         the hash table. (#319232)
123
124 2005-10-06  Matthias Clasen  <mclasen@redhat.com>
125
126         * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle
127         all-zero sequences correctly.  (#317930, Sebastien Bacher)
128
129 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
130
131         * glib/gmarkup.c (g_markup_escape_text): Doc addition
132
133         * Makefile.am: Add Collation tests.
134
135         * tests/collate/*: Inputs and expected outputs for collation tests.
136
137         * tests/run-collate-tests.sh: Script to run collation tests.
138
139         * tests/unicode-collate.c (main): Rework slightly to make
140         it usable in unit tests. Also test g_utf8_collate_key_for_filename().
141
142 2005-10-01  Behdad Esfahbod  <behdad@gnome.org>
143
144         * docs/reference/glib/tmpl/unicode.sgml:
145         * glib/gen-unicode-tables.pl:
146         * glib/gunibreak.h:
147         * glib/gunichartables.h:
148         * glib/gunicode.h:
149         * tests/casefold.txt:
150         * tests/casemap.txt: Updated to Unicode 4.1.  There are five new
151         GUnicodeBreakType types.  That may break some applications, like
152         Pango <= 1.10.
153
154 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
155
156         * glib/gstrfuncs.c (g_ascii_strtoull): Add details to the 
157         docs.  (#314393, Matthew F. Barnes)
158
159         * glib/glib.symbols:
160         * glib/gprintf.h: Remove g_snprintf() and g_vsnprintf(), since
161         they are already declared in glib.h. This doesn't break documented
162         use of gprintf.h, but should probably be pointed out in the 
163         release notes for 2.10. (#314232, Behdad Esfahbod)
164
165 Tue Sep 20 13:16:04 2005  Tim Janik  <timj@imendio.com>
166
167         * glib/gpattern.c (g_pattern_ph_match): applied significant recursion
168         complexity optimization, based on a patch from Matthias Clasen.
169
170         * tests/patterntest.c: more tests, mostly from matthias.
171
172 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
173
174         * glib/gqueue.c (g_queue_insert_sorted): Correct the docs.
175         (#316703, Mark Drago)
176
177 Mon Sep 19 17:23:23 2005  Tim Janik  <timj@imendio.com>
178
179         * glib/gpattern.c: applied a patch from matthias which checks on the
180         upper bound of GPatternSpec length to optimize matches.
181         cosmetic fixups.
182
183         * tests/patterntest.c: added more match cases.
184
185 2005-09-16  Tor Lillqvist  <tml@novell.com>
186
187         * glib/gstrfuncs.c (g_ascii_strcasecmp, g_ascii_strncasecmp): Add
188         warning to doc comment that these functions should not be used on
189         encodings like CP932.
190
191 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
192
193         * tests/keyfile-test.c: Add a test for grup names of length 1.
194
195         * glib/gkeyfile.c (g_key_file_line_is_group): Accept group names
196         of length 1.  (#316309)
197         
198 2005-09-12  Matthias Clasen  <mclasen@redhat.com>
199
200         * glib/gmarkup.c (g_markup_escape_text): Clarify docs.
201
202 2005-09-11  Sebastian Wilhelmi  <seppi@seppi.de>
203
204         * tests/refcount/Makefile.am (INCLUDES): Link the the refcount
205         tests to the system thread library $(G_THREAD_LIBS). Fixes #313744
206         and #314217.
207
208 2005-09-11  Kjartan Maraas  <kmaraas@gnome.org>
209
210         * glib/gmain.c: (g_child_watch_prepare), (g_child_watch_check),
211         (child_watch_helper_thread): Remove some dead code. Closes
212         bug #315278.
213
214 2005-09-07  Tor Lillqvist  <tml@novell.com>
215
216         * glib/Makefile.am: Create also a console version of the
217         gspawn-win32-helper program, gspawn-win32-helper-console.exe.
218         It's otherwise identical to gspawn-win32-helper.exe, except marked
219         as a console application (linked without the -mwindows option).
220         
221         * glib/gspawn-win32.c (do_spawn_directly, do_spawn_with_pipes):
222         Drop the dont_wait parameter. Its truth value correlated 100% with
223         the NULLness of the exit_status parameter anyway, so it's enough
224         to check whether exit_status is NULL. Invert the sense of the
225         dont_return_handle parameter and rename it to do_return_handle, to
226         make the code easier to read by avoiding double negations.
227
228         (g_spawn_sync_utf8, g_spawn_async_with_pipes_utf8): Modify calls
229         to do_spawn_with_pipes() accordingly.
230
231         (do_spawn_with_pipes): If we have a console, use the console
232         version of the helper program, otherwise use the GUI one. This
233         avoids extra console windows opening up in some situations. (In
234         case a console application uses the GUI gspawn-win32-helper.exe to
235         spawn another console application we would get a separate console
236         for the spawned console application).
237
238         * glib-zip.in: Distribute also gspawn-win32-helper-console.exe.
239
240 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
241
242         * glib/gmappedfile.c (g_mapped_file_new): Report an error
243         if the file is too large.  (#315275, Kjartan Maraas)
244
245         * glib/gkeyfile.c (g_key_file_load_from_fd): The return value
246         of read() is signed.  (#315273, Kjartan Maraas)
247         
248 2005-08-31  Tor Lillqvist  <tml@novell.com>
249
250         * glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where
251         the EXE and each DLL have their own atexit function chains.
252
253         #define g_atexit as atexit instead. This means it has a
254         better chance of doing what the caller wants. For instance,
255         gtkhtml calls g_atexit() registering a function in gtkhtml
256         itself. This caused a crash when g_atexit() was implemented as a
257         function in the GLib DLL. The gtkhtml DLL was already unloaded by
258         the time the GLib DLL got unloaded.
259
260         * glib/gutils.c: #undef the #define mentioned above, to also get a
261         real g_atexit() into the DLL for backward compatibility. Document
262         the Windows behaviour of g_atexit(), and document the varying ways
263         atexit() can behave in the context of dynamically loaded modules
264         on Unix.
265
266 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
267
268         * glib/glib.symbols: 
269         * glib/gquark.h: 
270         * glib/gdataset.c: Add string interning functions.
271
272 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
273
274         * glib/giochannel.c: Unify some near-duplicate strings. (#314654,
275         Clytie Siddall)
276         
277 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
278
279         * configure.in: Bump version to 2.9.0
280
281 2005-08-25  Tor Lillqvist  <tml@novell.com>
282
283         Make also the g_spawn*() functions take parameters in the GLib
284         file name encoding, i.e. UTF-8, on Windows. Has no impact on Unix
285         API or ABI. Like the other GLib API that was earlier changed to
286         use UTF-8 on Windows, the names of the functions that take UTF-8
287         have _utf8 suffixes added by using preprocessor macros in the
288         header file. The old names are kept for functions with the old
289         behaviour, taking parameters in the system codepage, for DLL ABI
290         stability.
291         
292         * glib/gspawn.h: On Win32 add the suffix _utf8 to the names of the
293         g_spawn*() functions.
294         
295         * glib/gspawn-win32.c: Use wide-char API on NT-based
296         Windows. Convert parameters from UTF-8 to wide chars (NT) or
297         system codepage (Win9x) and call the C library _wspawn*() or
298         spawn*() functions respectvely. Add DLL ABI stability versions
299         that take parameters in the system codepage.
300
301         * glib/gspawn-win32-helper.c: On NT-based Windows use the
302         wide-char versions of argv and envp, and use wide-char API to
303         change directory and spawn the program to run. Remove the verbose
304         debugging output, it was too complex to modify for the wide-char
305         features. (Just add temporary debugging printouts if needed, no
306         need to have them permanently in the source.)
307
308         * glib/gspawn.c: Corresponding documentation updates.
309
310         * glib/glib.symbols: Corresponding changes: Mark the ABI stability
311         symbols as PRIVATE, add the new _utf8-suffixed ones.
312
313 2005-08-24  Stepan Kasal  <kasal@ucw.cz>
314
315         * glib/gtypes.h (G_MININT64): Cast the constant to gint64; it is
316         guint64 otherwise and that can produce warnings about comparison
317         between signed and unsigned.
318
319 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
320
321         * glib/gutils.c: Fix the crt_externs.h include.
322
323 2005-08-23  Stepan Kasal  <kasal@ucw.cz>
324
325         * NEWS: Fix spelling of my first name.
326
327 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
328
329         * Bump version
330
331         * === Released 2.8.1 ===
332
333         * NEWS: Updates
334
335 2005-08-20  Hans Breuer  <hans@breuer.org>
336
337         * glib/makefile.msc.in : link with ws2_32.lib
338
339 2005-08-18  Tor Lillqvist  <tml@novell.com>
340
341         * configure.in: Check for <sys/wait.h>
342
343         * glib/gbacktrace.c: Include <sys/wait.h> on if HAVE_SYS_WAIT_H.
344
345 2005-08-18  Ross Burton  <ross@burtonini.com>
346
347         * glib/gstring.c:
348         Optimise single-character insertions.
349         
350         * glib/gutf8.c:
351         Note copied code.
352         
353         * tests/string-test.c:
354         Add tests for new optimisation, and fix a leak.
355
356 2005-08-17  Matthias Clasen  <mclasen@redhat.com>
357
358         * configure.in: Check for crt_externs.h and _NSGetEnviron.
359
360         * glib/gutils.c: On Darwin, include crt-externs.h and
361         define environ using _NSGetEnviron().  (#313731)
362
363 2005-08-16  Stepan Kasal  <kasal@ucw.cz>
364
365         * glib/gutils.c (g_get_any_init): Move the body of the big if...
366         (g_get_any_init_do): ... to this new function.
367         (g_get_any_init): Declare as inline.
368         (g_get_any_init_locked): New inline function, does the locking.
369         Make use of these two throughout the code.
370
371 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
372
373         * glib/gbacktrace.c (g_on_error_stack_trace): Wait for
374         the child process and then simply return. This makes 
375         The "S" option work as documented in g_on_error_query().
376         (#313125, Matthew F. Barnes)
377
378         * glib/gunicode.h: Update the link to Unicode category
379         values.  (#313369, Behnam Esfahbod)
380
381         * glib/gqueue.c (g_queue_find_custom): Clarify docs
382         a little.  (#311727, Tristan van Berkom)
383
384         * glib/abicheck.sh, gobject/abicheck.sh: Make the 
385         check work on ia64 too, where some symbols ended up 
386         in yet another section.
387