Wed Jul 9 16:27:26 2003 Manish Singh <yosh@gimp.org>
* glib/gmain.c (g_main_context_unref_and_unlock): check if
context->poll_chunk is set before trying to destroy it. For example,
This can happen if no sources are added to a context before it is
freed.
2003-07-09 Matthias Clasen <maclas@gmx.de>
Support for one-time initialization functions. (#69668, Sebastian Wilhelmi)
* configure.in: Check whether double checked locking is safe, define g_once() in
glibconfig.h accordingly.
* glib/gthread.h: Add GOnce, GOnceStatus, G_ONCE_INIT and g_once_impl.
* glib/gthread.c (g_once_impl): Fallback implementation using a mutex if double checked
locking is unsafe.
* tests/thread-test.c: Add tests for g_once().
2003-06-25 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
&optlen to getsockopt() instead of NULL. Don't remember why I
thought that NULL could be used (as we don't actually use the
returned value for anything), the Platform SDK documentation
doesn't imply so.
2003-06-17 Matthias Clasen <maclas@gmx.de>
* acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
macros to check for XML catalog contents and path, borrowed from
gtk-doc.
* configure.in: New option --enable-man to enable regeneration of
man pages from Docbook, if the necessary tools are found.
* gobject/Makefile.am: Add rule to regenerate man pages from
Docbook.
(man_MANS): Add glib-mkenums.1, glib-genmarshal.1 and gobject-query.1.
(content_files): Add glib-mkenums.xml, glib-genmarshal.xml and
gobject-query.xml.
* gobject/glib-mkenums.xml:
* gobject/glib-genmarshal.xml:
* gobject/gobject-query.xml: New refentries.
* gobject/glib-mkenums.1:
* gobject/glib-genmarshal.1:
* gobject/gobject-query.1: Man pages generated from the .xml
sources.
* gobject/gobject-docs.sgml: Include glib-mkenums.xml,
glib-genmarshal.xml and gobject-query.xml.
* glib/Makefile.am: Add rule to regenerate man pages from
Docbook.
(man_MANS): Add glib-gettextize.1.
(content_files): Add glib-gettextize.xml.
* glib/glib-gettextize.xml: New refentry.
* glib/glib-gettextize.1: Man page generated from the .xml source.
* glib/glib-docs.sgml: Include glib-gettextize.xml.
2003-06-15 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DLLDIR): Test where the DLLs actually are.
* README.win32: Point to FSF's binary Win32 distributions of
libiconv and gettext-runtime.
2003-06-11 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DEVZIP): libtool 1.5 installs DLLs in the bin
subdirectory, so get them from there.
* glib/gwin32.c (g_win32_getlocale): Use "sr@Latn" and "sr" in the
same way as the po files for Serbian in Latin and Cyrillic script.
2003-06-08 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c: Fix indentation and spacing. Use
INADDR_LOOPBACK instead of inet_addr("127.0.0.1") and
gethostbyaddr().
* glib/giowin32.c: Resolved thread deadlocks in socket
ichannel code to support Add-Cancel-Add watch functionality
on windows. Also cleaned up socket error handling to not
segfault and do the right thing.
Fri Jun 6 10:24:23 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* m4macros/glib-gettext.m4: Test for Solaris native gettext
in libc, seeing if it supports GNU catalog format (#85217).
Thu Jun 5 23:40:31 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c: When dispatching a source that is
!CAN_RECURSE, temporarily remove any file descriptors
that that source has registered from the main loop, to keep
recursive main loops from busy-waiting if input
becomes available on one of those file descriptors.
(#112222, Christian Krause)
* glib/gmain.c (g_source_set_priority): Properly
remove the source from the context's source list
and reinsert it sorted, rather than simply setting
source->next/prev to NULL! (#114274)
2003-06-06 Matthias Clasen <maclas@gmx.de>
* glib/gstring.c (g_string_append_printf_internal): Use
g_vasprintf() and g_string_append_len(), thus enabling embedded
nuls in the result of g_string_printf(). (#92492, Owen Taylor)
* tests/string-test.c: Add a test for embedded nuls in the
result of g_string_printf().
2003-06-06 Matthias Clasen <maclas@gmx.de>
* glib/gprintf.[ch]: Synchronize argument names with headers and docs.
(g_vasprintf): An implementation of vasprintf(), code was lifted
from g_strdup_vprintf(). (#112365)
* glib/gstrfuncs.c (g_strdup_vprintf): Just use g_vasprintf().
2003-06-05 Tor Lillqvist <tml@iki.fi>
* glib/giochannel.h
* glib/gmain.h: Remove bogus (Win32-only) declaration of
g_main_poll_win32_msg_add(). No such function exists.
* glib/gmain.c (g_poll) [Win32]: Use g_win32_error_message() for
better warning messages.
Mon Jun 2 14:18:21 2003 Owen Taylor <otaylor@redhat.com>
Patch from Jeffrey Stedfast <fejj@ximian.com> (#104825)
* glib/gspawn.c (read_data): Don't read() into '&buf', while this
is technically okay - it is clearer as just 'buf'.
(write_all): New helper function that handles write() interrupts.
(write_err_and_exit): Use write_all() instead of write().
(fork_exec_with_pipes): Same here.
Sun Jun 1 09:42:36 2003 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_error_get_from_g_error): Put
the g_return_val_if_fail() in the right place.
Fri May 31 1:17:45 2003 Ray Strode <halfline@hawaii.rr.com>
* glib/giochannel.c (g_io_channel_error_from_errno):
Fix typo: should be G_IO_ERROR_UNKNOWN not
G_ERROR_ERROR_UNKNOWN
Fri May 30 19:09:25 2003 Owen Taylor <otaylor@redhat.com>
* m4macros/glib-gettext.m4: Backport better handling
of ALL_LINGUAS from gettext.m4. (#103808, Andras Salamon)
Fri May 30 18:46:05 2003 Owen Taylor <otaylor@redhat.com>
* m4macros/glib-gettext.m4: expand $exec_prefix as
well as $prefix. (#107290, reported by Morten Welinder,
patch from Raja Harinath)
Fri May 30 16:48:26 2003 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_channel_error_from_errno):
Silently return G_IO_CHANNEL_ERROR_FAILED for EINTR,
since close() can return EINTR. (#11842, Balazs Scheidler)
Fri May 30 15:51:43 2003 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_error_get_from_g_error):
Do a g_return_val_if_fail() on err == NULL to be a
bit more robuts on buggy IO channel implementations.
(#113396, Dan Winship)
Tue May 27 19:56:35 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmacros.h: __PRETTY_FUNCTION__ was made a non-token
before gcc-3.0.0 for C++. (Fix from Martin Kretzschmar,
#113797)
2003-05-19 Noah Levitt <nlevitt@columbia.edu>
* glib/gunibreak.c: Fix cut-and-pasto: g_unichar_break_type should
return G_UNICODE_BREAK_UNKNOWN if the character is greater than
G_UNICODE_LAST_CHAR.
2003-05-05 Christian Rose <menthos@menthos.com>
* configure.in: Added sr and sr@Latn to ALL_LINGUAS.
* po/sr.po, po/sr@Latn.po: Added Serbian translation by
Danilo Å egan <dsegan@gmx.net>.
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_loop_run): When waiting for
the main loop to be freed up, wait on either
!loop->is_running or got_ownership, not both.
(Caused gtk_dialog_run() not to work in other
threads, reported by Jean-Yves Lefort)
2003-04-01 Matthias Clasen <maclas@gmx.de>
* glib/gstring.[hc] (g_string_chunk_insert_len): New function, to
insert possible non-nul-terminated byte sequences into a string
chunk. (#96279)
(g_string_chunk_insert): Implement in terms of
g_string_chunk_insert_len() now.
2003-03-30 Matthias Clasen <maclas@gmx.de>
* glib/gconvert.c (UnsafeCharacterSet): Get rid of
UNSAFE_DOS_PATH.
(acceptable): Align with RFC2396. (#59653)
* tests/uri-test.c: Adjust to the changes above.
2003-03-26 Christian Rose <menthos@menthos.com>
* configure.in: Added "yi" to ALL_LINGUAS.
* po/yi.po: Added Yiddish translation by
Raphael Finkel <raphael@cs.uky.edu>.
2003-03-14 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gthread.c: Do not define function g_thread_init_glib, if
not G_THREADS_ENABLED. It's not called bu g_thread_init() then,
but calls other, in that case undefined functions.
2003-03-01 James Henstridge <james@daa.com.au>
* autogen.sh: require automake 1.7. Add calls to libtoolize and
gtkdocize. Clean up some of the error messages.
* configure.in: move version declaration to the top of the file
(before AC_INIT), using M4 macros.
GLIB_AC_DIVERT_BEFORE_HELP() calls no longer necessary, due to use
of M4 macro expansion in help messages instead.
Convert AC_ARG_WITH/AC_ARG_ENABLE calls to use AC_HELP_STRING to
format help strings. Use quadrigraphs to get square brackets to
show correctly.
Replace gtk-doc checks with a call to GTK_DOC_CHECK() macro.
Use AC_CONFIG_COMMANDS([glibconfig.h], ...) to output
glibconfig.h, so that "./config.status glibconfig.h" works.
Add an extra AC_CONFIG_FILES call listing other files we want
generated by config.status protected by an "if false" block. This
way automake generates the rules needed to rebuild the files for
us.
Add quotes in various places.
* docs/reference/*/Makefile.am: convert to use the common
gtk-doc.make file. This localises the complexity to a single
makefile fragment maintained with gtk-doc itself.
* */Makefile.am: remove unneeded rules to build win32 files with
config.status. Automake now does this for us.
Replace instances of @FOO@ with $(FOO) where appropriate -- this
allows automake to do a better job checking the makefile.
Add some files to DISTCLEANFILES where appropriate
* Makefile.am: use the DISTCHECK_CONFIGURE_FLAGS variable to
ensure that --enable-gtk-doc is passed to configure during a
distcheck. Remove the custom distcheck, since the standard one
will now do.
* gobject/Makefile.am: switch to BUILT_SOURCES, since that now
works.
2003-02-25 Tor Lillqvist <tml@iki.fi>
* glib/glib.def: Add a couple of missing entries, thanks to Cedric
Gustin. Thread initialization function changes according to
Sebastian Wilhelmi's changes below (2003-02-14).
2003-02-18 Sebastian Wilhelmi <seppi@seppi.de>
* configure.in: Make glib_thread_test not unnecessarily convert
between int and void*. (#106278). Let main return int.
* configure.in: Add an argument to specify the default thread
attribute to glib_thread_test. Disappeared somewhere between 2.0
and 2.2.
2003-02-14 Sebastian Wilhelmi <seppi@seppi.de>
Fixes for #101264 and #99372:
* glib/gconvert.h, glib/gmain.c, glib/gmem.c, glib/gmessages.c,
glib/grand.c: Include gthreadinit.h and rename the thread
initialization functions a bit and let them start with _, so that
later we can stop exporting them.
* glib/gmem.c, glib/gmessages.c: Move the g_private_new() calls to
new functions. They have to be called after setting
g_threads_got_initialized to TRUE (see #101264).
* glib/gthread.c: Include gthreadinit.h. Renamed g_mutex_init() to
g_thread_init_glib(). Call the thread initialization functions
(which are not allowed to call g_private_new), then set
g_threads_got_initialized to TRUE, then call the other thread
initialization functions (which must not call anything but
g_private_new()).
* glib/gthreadinit.h: New private header to cleanly declare all
thread initialization functions.
* gthread/gthread-impl.c: Include gthreadinit.h. In
g_thread_init() just call g_thread_init_glib(), which in turn calls the
other functions (see #99372).
* glib/Makefile.am: Added gthreadinit.h.
2003-02-04 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c (g_io_channel_unix_new): Fix typo: Should be
SOCKET_ERROR, not SO_ERROR. Noticed by Daniel Kaufmann.
Merge from stable branch:
Fix for bug #104014, reported by Alex Shaduri:
* glib/gspawn-win32.c (protect_argv): New function. Add
double-quotes around argv elements that need it, and escape
embedded double-quotes with backslash.
(do_spawn_with_pipes) Call protect_argv().
* glib/gspawn-win32-helper.c (WinMain): Call protect_argv().
* glib/gspawn.c (g_spawn_async_with_pipes): Document argument
vector vs. command line details on Win32.
(g_spawn_command_line_sync): Improve documentation about
backslashes in the command line on Windows.
Tue Jan 28 16:08:56 2003 Owen Taylor <otaylor@redhat.com>
* m4macros/glib-gettext.m4: If msgfmt isn't found,
unset gt_cv_have_gettext. (#102552, Tim Mooney)
Tue Jan 28 15:18:24 2003 Owen Taylor <otaylor@redhat.com>
* autogen.sh (have_automake): Fix version in complaint
message about automake. (#104366, Rich Burridge)
2003-01-21 Christian Rose <menthos@menthos.com>
* configure.in: Added "mn" to ALL_LINGUAS.
* po/mn.po: Added Mongolian translation by
Sanlig Badral <badral@chinggis.com>.
2003-01-05 Tor Lillqvist <tml@iki.fi>
* README.win32: Updates.
* configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
libm. (Mingw has a dummy libm.a, but the .pc file should be
useable by MSVC users, too.)
2003-01-04 Tor Lillqvist <tml@iki.fi>
* {glib,gmodule,gobject,gthread}/Makefile.am:
[Win32] Install also the .def files, to help users generate
import libraries for other compilers. Uninstall, too.
* glib-zip.in: Include .def files from above.
2003-01-04 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c (g_io_win32_fd_get_flags_internal): Don't claim
broken pipes are unreadable. (Well, they are, but read() handles
it, and treats it like EOF.)
Thu Jan 2 16:19:15 2003 Manish Singh <yosh@gimp.org>
* configure.in: use AC_COMPILE_IFELSE instead of AC_TRY_COMPILE for
tests for inline keywords. Fixes#101976.
2003-01-02 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.h: Correct the comment telling what headers have
the declarations of some POSIXish functions.
* glib/giowin32.c (g_io_win32_fd_get_flags_internal): Fix braino:
The checks for readability/writeability were backwards.
2003-01-01 Tor Lillqvist <tml@iki.fi>
* glib/gmessages.c (ensure_stdout_valid, ensure_stderr_valid):
Check the C stdout and stderr streams for validity, instead of
what GetStdHandle() returns.
2003-01-01 Tor Lillqvist <tml@iki.fi>
* glib/gmessages.c (ensure_stderr_valid, ensure_stdout_valid): Move the
alloc_console_called static flag inside these two functions.
2003-01-01 Tor Lillqvist <tml@iki.fi>
* glib/gmessages.c (ensure_stderr_valid): New function, parallel
to ensure_stdout_valid(). #defined as empty on Unix.
(mklevel_prefix): Do use either stderr or stdout on Windows,
too. Otherwise g_warning() messages (that are just warnings, by
definition) will get mixed with proper stdout output. Noticed in
GIMP's gimpconfig-dump.
(strdup_convert, mklevel_prefix, g_printerr): Call
ensure_stderr_valid() before trying to use stderr.
(g_logv): [Win32] Convert message to current codepage before
display with MessageBox().
Fri Dec 20 10:45:29 2002 Owen Taylor <otaylor@redhat.com>
* === Released 2.2.0 ===
* INSTALL.in: --enable-included-printf, not --enable-trio.
(Matthias Clasen)
Fri Dec 20 09:52:15 2002 Owen Taylor <otaylor@redhat.com>
* === Released 2.2.0 ===
* INSTALL.in: Document --enable-trio, --disable-mempools,
--enable-debug. Include docs on cross compilation.
* NEWS: Update.
* configure.in: Version 2.2.0, interface age 0.
Wed Dec 18 16:19:08 2002 Manish Singh <yosh@gimp.org>
* glib/gtypes.h: new endian asm for ia64 and x86_64, general
reorg and clean up. New implementation of GUINT16_SWAP_LE_BE_CONSTANT()
that should optimize better. (#101318)
2002-12-17 Tor Lillqvist <tml@iki.fi>
Improvement based on suggestion by Thorsten Maerz:
* glib/giowin32.c (struct _GIOWin32Channel): Don't need thread_handle.
(create_thread): We can close thread handle right away, it isn't
used for anything.
(read_thread, select_thread): Thus, don't close it here.
Fix#57690, partial fix for #57689:
* glib/giowin32.c (g_io_win32_set_flags): Don't set the GError,
instead call g_warning().
(g_io_win32_fd_get_flags_internal): New function, sets the
is_readable, is_writeable and is_seekable flags based on the
actual access modes of the underlying Win32 HANDLE, by trying
Win32 ReadFile() and WriteFile() of zero bytes, and
PeekNamedPipe(). Should work for disk files and pipes. For devices
(consoles) unfortunately not.
(g_io_win32_fd_get_flags): Don't set the
G_IO_FLAG_IS_{READ,WRITE}ABLE flags, g_io_channel_get_flags()
already does. Call g_io_win32_fd_get_flags_internal() to set the
is_* flags.
(g_io_win32_msg_get_flags, g_io_win32_sock_get_flags): Splice the
generic g_io_win32_get_flags() into these specific functions, as
they need to do different things. Not implemented yet, though.
(g_io_channel_win32_new_fd_internal): New function, to avoid
duplicate fstat() calls. Most code from g_io_channel_win32_new_fd()
moved here. Call g_io_win32_fd_get_flags_internal() to set the
is_* flags.
(g_io_channel_win32_new_fd, g_io_channel_unix_new): Call
g_io_channel_win32_new_fd_internal().
(g_io_win32_no_seek): Remove. Don't set is_seekable for those
channel types.