2005-05-05 Owen Taylor <otaylor@redhat.com>
* gobject.[ch] gobject.symbols: Add
g_object_add/remove_toggle_ref() functions to get notification
when a reference count is the last remaining reference; this
enables better memory management for language bindings.
(http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html)
2005-05-05 Owen Taylor <otaylor@redhat.com>
* glib/gdataset.[ch] glib/gdatasetprivate.h: Add
g_datalist_set/unset_flags(), g_datalist_get_flags() functions
to squeeze some bits into a GDataSet... this is needed for
efficient implementation of toggle references in GObject.
* tests/gobject/references.c tests/gobject/Makefile.am:
Add a test case for weak and toggle references.
* glib/gfileutils.[ch]: Rename g_file_replace() back
to g_file_set_contents().
* glib/glib.symbols: Update.
2005-05-05 Owen Taylor <otaylor@redhat.com>
* glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt:
Update
* gobject/tmpl/objects.sgml: Document toggle-references.
2005-04-28 Matthias Clasen <mclasen@redhat.com>
* glib/gstrfuncs.c (g_strcompress): Warn and don't crash
when meeting a trailing \\. (#301373, Benjamin Otte)
2005-04-27 Tor Lillqvist <tml@novell.com>
* glib/gconvert.c (open_converter, g_convert_with_iconv): Don't
call g_set_error() unless the GError pointer is non-NULL. This
avoids infinite recursion problems in certain rare situations on
Windows, when g_locale_from_utf8() is called from
_glib_get_locale_dir() after the change below. It's the
_glib_gettext() calls to translate error messages that are
parameters to g_set_error() that cause the recursion, not
g_set_error() itself.
* glib/gwin32.c (g_win32_locale_filename_from_utf8): New
function. Converts a filename to the system codepage, and if a
straight conversion isn't possible (because the filename contains
characters not in the system codepage), try looking up the
filename (which should refer to an existing file for this to
succeed) with short (8.3) pathname components.
* glib/gutils.c (_glib_get_locale_dir): No need to cache the
result, this function is normally called only once. Return the
path to the locale directory in system codepage, not UTF-8. The
path is passed to bindtextdomain(), which doesn't use UTF-8 file
names. Use g_win32_locale_filename_from_utf8(). (#301772)
Don't do run-time lookup of message catalog directory on
Cygwin. Cygwin is supposed to look and feel like Unix, and on Unix
we use paths fixed at configure time.
2005-04-19 Tor Lillqvist <tml@novell.com>
* glib/gutils.h: Minor comment improvement.
2005-04-18 Tor Lillqvist <tml@novell.com>
* glib/gfileutils.c: No <sys/wait.h> on Win32. Definition of
save_errno was missing in one place.
Sat Apr 16 20:15:44 2005 Soeren Sandmann <sandmann@redhat.com>
* glib/gfileutils.c (g_file_replace): Save the errno in various
places
* glib/gfileutils.c (set_umask_permissions): Fork a child and do
chmod() to the umask() permissions there.
2005-04-08 Tor Lillqvist <tml@novell.com>
Improve g_get_system_data_dirs() on Windows. A library that calls
g_get_system_data_dirs() might be installed in a different
top-level prefix than GLib or the application being run.
* glib/gutils.h (g_win32_get_system_data_dirs): New static
function defined in this header. Calls
g_win32_get_system_data_dirs_for_module() passing the address of
itself as parameter. g_get_system_data_dirs() is #defined as this
function.
* glib/gutils.c (g_win32_get_system_data_dirs_for_module): New
function. If the address parameter is non-NULL, the corresponding
module's installation location is used for one of the returned
path names, in addition to the COMMON_APPDATA, COMMON_DOCUMENTS,
glib top-level and application top-level folders.
(g_get_system_data_dirs): Now just for backward compatibility on
Win32. Just call g_win32_get_system_data_dirs_for_module(NULL).
* glib/glib.symbols: Add g_win32_get_system_data_dirs_for_module.
2005-04-08 Tor Lillqvist <tml@novell.com>
* glib/gutils.c (read_aliases): Not used on Windows.
(unalias_lang): Don't do anything on Windows, there is no
/usr/share/locale/locale.alias file..
2005-04-08 Tor Lillqvist <tml@novell.com>
* glib/gutils.c (g_get_system_data_dirs): After investigating more
closely the actual use cases of this function, I understand better
what it should do. In addition to the Windows COMMON_APPDATA and
COMMON_DOCUMENTS folders, also return the "share" subfolders of
GLib's installation location and the application .exe's
installation location, hoping that either matches what the
function's caller is looking for.
2005-04-03 Matthias Clasen <mclasen@redhat.com>
* glib/gutils.h: Undef G_CAN_INLINE if G_IMPLEMENT_INLINES is
defined. This was the pre-2.6 behaviour, and without it,
G_IMPLEMENT_INLINES cannot be used in multiple .c files
at all. (#165852, Dave Benson)
2005-04-01 Matthias Clasen <mclasen@redhat.com>
* glib/gmain.c (g_child_watch_source_new): Add a note regarding
waitpid(-1).
(g_child_watch_source_init_multi_threaded):
(g_child_watch_source_init_single): Don't use SA_RESTART,
since it causes problems on at least one platform. (#168352)