2005-12-01 Tor Lillqvist <tml@novell.com>
* glib/gstdio.c (g_stat): In the Win32 implementation, strip
trailing slash(es) for non-root folders. stat() fails if non-root
folders are specified with trailing slashes. It's too much hassle
to demand that callers strip such slashes themselves, especially
as it is easy to get it wrong and strip the slash of a root
folder.
(g_rename): On NT-based Windows, use MoveFileEx() with
MOVEFILE_REPLACE_EXISTING to better match Unix behaviour.
2005-11-28 Matthias Clasen <mclasen@redhat.com>
Fix G_STMT_START / G_STMT_END on Solaris. (#321972,
Andrew Paprocki)
* configure.in: Check whether do { } while (0) works.
* glib/gmacros.h: Use do { } while (0) for G_STMT_START /
G_STMT_END if it works.
Wed Nov 23 17:34:01 2005 Tim Janik <timj@imendio.com>
* glib/gdataset.c: access datalist flags via atomic pointer access
funcitons, instead of acquiring the dataset lock. this is faster and
also matches the atomic pointer readouts in gdatalistprivate.h and
direct pointer modifications required by gobject.c.
Wed Nov 23 18:01:46 2005 Tim Janik <timj@imendio.com>
* gobject.[hc]: added floating reference count.
g_object_is_floating():
g_object_ref_sink(): new functions to deal with floating references.
g_object_force_floating(): new funciton for object implementations
to set the floating flag.
* gobject.c (g_object_init): make objects initially floating.
Wed Nov 23 17:58:13 2005 Tim Janik <timj@gtk.org>
* gparam.[hc]: added g_param_spec_ref_sink().
2005-11-22 Matthias Clasen <mclasen@redhat.com>
Avoid double locking in g_intern_string (#322133,
Benedikt Meurer)
* glib/gdataset.c (g_quark_from_string_internal): New
internal function which factors out common parts of
g_quark_from[_static]_string.
(g_quark_from_string, g_quark_from_static_string):
Use g_quark_from_string_internal.
(g_intern_string, g_intern_static_string): Use
g_quark_from_string_internal, and only take the
lock once.
(g_quark_new): Don't store the strings shifted by -1
in the g_quarks array.
(g_quark_to_string): Adapt to the previous change.
2005-11-17 Matthias Clasen <mclasen@redhat.com>
* glib/glib.symbols:
* glib/gdate.h:
* glib/gdate.c (g_date_set_time_t):
(g_date_set_time_val): Add functions to set a date from
a time_t and from a GTimeVal.
(g_date_set_time): Deprecate. (#314067, Roger Leigh)
2005-11-17 Matthias Clasen <mclasen@redhat.com>
* tests/Makefile.am:
* tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
and g_utf8_offset_to_pointer.
* glib/gutf8.c (g_utf8_pointer_to_offset)
(g_utf8_offset_to_pointer): Handle negative offsets, and use
"stutter stepping" for going backwards. (#320638, Larry
Ewing)
2005-11-17 Matthias Clasen <mclasen@redhat.com>
* glib/gbacktrace.c:
* glib/gdate.c:
* glib/gthread.c: const correctness fixes, found
by Arjan van de Ven and gcc.
2005-11-16 Behdad Esfahbod <behdad@gnome.org>
* docs/reference/glib/tmpl/unicode.sgml: Correct typo on mentioning
@G_UNICODE_BREAK_UNKNOWN that should be #G_UNICODE_BREAK_UNKNOWN.
2005-11-09 Behdad Esfahbod <behdad@gnome.org>
* glib/guniprop.c: Use bit hacks instead when checking a general
category value against multiple values.
* glib/gutf8.c: Change ISO10646 to Unicode in docs.
2005-11-07 Matthias Clasen <mclasen@redhat.com>
* glib/gmem.c (g_allocator_new): We need to set n_preallocs to a
nonzero value, otherwise GTK+ 2.8 breaks when compiled against
GLib 2.9. (#320755, Luca Ferretti)
2005-11-04 Matthias Clasen <mclasen@redhat.com>
* glib/Makefile.am: Apply a patch from Behdad Esfahbod to
use a faster lookup table for g_unichar_get_mirror_char().
* glib/gmirroringtable.h: The new table.
* glib/gunichartables.h: Remove bidi_mirroring_table.
* glib/gen-unicode-tables.pl: Don't generate the mirroring
table.
* glib/glib-mirroring-tab/*: Sources for the program
which generated gmirroringtable.h.
* glib/glist.c: Avoid some code duplication.
2005-11-04 Matthias Clasen <mclasen@redhat.com>
* glib/gdebug.h: add new GDebugFlag for fatal_criticals
* glib/gmessages.c: (_g_debug_init): handle G_DEBUG=fatal_criticals,
to help find critical warnings in applications. (#320017,
Vincent Untz)
2005-11-02 Tor Lillqvist <tml@novell.com>
* glib/glib.symbols: Remove large amount of trailing whitespace
from one line. Remove #ifdef G_UNDEFINED from around
g_hash_table_new and g_hash_table_new_full symbols, what was the
purpose of that? Add the g_slice functions.
Tue Nov 1 16:24:20 2005 Tim Janik <timj@imendio.com>
* glib/gmem.[hc]: prepared deprecation of GMemChunk and GAllocator.
added g_slice_*() API to allocate and cache small bits of memory.
an actuall allocator implementation for g_slice_*() is still pending.
* glib/gthread.[hc]: changes from a patch by Matthias Clasen.
changed GRealThread list to use in-structure *next; fields instead
of GSList, in order for thread iteration to not depenend on g_slice_*()
indirectly.
_g_thread_mem_private_get():
_g_thread_mem_private_set(): added accessors for private memory,
needed because the ordinary GPrivate implementation relies on GArray
and GSList and therefore indirectly on working g_slice_*() allocations.
* glib/gthread.[hc]:
g_thread_foreach(): new public API function to loop over all existing threads.
* glib/gdataset.c:
* glib/gstring.c:
* glib/gcache.c:
* glib/garray.c:
* glib/gqueue.c:
* glib/gslist.c:
* glib/glist.c:
* glib/ghash.c:
* glib/gtree.c:
* glib/ghook.c:
* glib/gmain.c:
* glib/gnode.c:
removed GAllocator and free list usages and accompanying locks.
use g_slice_*() API to allocate and cache small bits of memory.
* glib/ghook.h: removed GMemChunk field from public API.
* glib/gslist.h:
* glib/glist.h: deprecate allocator API, provide _free1() for consistency.
* glib/gnode.h: deprecate allocator API.
* glib/gmain.c: reordered GPollRec fields so g_slice_free_chain() can
be used for poll rec lists.
* glib/grel.c: removed mem chunk usage, and allocated tuples via g_slice_*().
g_relation_destroy(): free all tuples from the all_tuples hash table,
this effectively maintains the life time track keeping of tuples.
g_relation_delete_tuple(): free tuples which are removed from the
all_tuples hash table. this fixes a temporary leak that was present
in the memchunk code until the destruction of the relation.