2008-04-21 Tor Lillqvist <tml@novell.com>
* configure.in
* */Makefile.am: More work on enabling static building on
Windows. When building statically: Also define
GOBJECT_STATIC_COMPILATION in glibconfig.h so that also the
variables in gparamspecs.h get declared without any
dllimport/dllexport decorations. Don't install .def files which
obviously have no meaning for static libraries. Don't create MS
import libraries. Don't do any resource object files.
svn path=/trunk/; revision=6866
2008-04-17 Emmanuele Bassi <ebassi@gnome.org>
* glib/gchecksum.c:
(sha_byte_reverse): Use the macro GLib provides for byte-swapping
as it can be optimized.
(g_checksum_update): Fix a compiler warning.
svn path=/trunk/; revision=6861
2008-04-09 Federico Mena Quintero <federico@novell.com>
* glib/gbookmarkfile.c (bookmark_metadata_free): Don't leak
the apps_by_name hash table if the applications list is empty.
Signed-off-by: Federico Mena Quintero <federico@gnu.org>
svn path=/trunk/; revision=6846
2008-04-04 Tor Lillqvist <tml@novell.com>
* glibconfig.h.win32.in: Define GLIB_STATIC_COMPILATION here also,
if needed.
svn path=/trunk/; revision=6822
2008-04-04 Tor Lillqvist <tml@novell.com>
* configure.in: Make sure we don't build both shared and static at
the same time on Windows. Put a #define for
GLIB_STATIC_COMPILATION into glibconfig.h in the static case, so
that the use of variables from libglib gets the dllimport stuff in
the GLIB_VAR macro as defined in gtypes.h automatically
correct. This means that a shared and static build of GLib can't
be installed in the same prefix on Windows, which sucks a bit. But
with variables in the GLib API, there isn't much we can do
otherwise. The alternative would be to force the developer who
compiles against a statically built GLib to use
-DGLIB_STATIC_COMPILATION.
svn path=/trunk/; revision=6820
2008-04-03 Tor Lillqvist <tml@novell.com>
* configure.in: Don't enforce shared library build only on
Windows. It might well make sense to build static libraries in
some use cases.
* glib/gutils.c: Don't compile the DllMain if building libglib
statically. Also in that case don't return NULL from
_glib_get_installation_directory(), but return the installation
directory of the program's .exe file.
svn path=/trunk/; revision=6818
2008-04-03 Tor Lillqvist <tml@novell.com>
Bug 525972 - UCS-4 not in the new win_iconv implementation
* glib/win_iconv.c: Add UCS-4. Also add spelling of UCS-2 without
the hyphen.
svn path=/trunk/; revision=6816
2008-04-02 Tor Lillqvist <tml@novell.com>
Bug 524314 - g_convert() on Win32 implicitly converts full width
alphanumerics into half width
* glib/win_iconv.c: Update from Yukihiro Nakadaira. Use
WC_NO_BEST_FIT_CHARS flag for WideCharToMultiByte() unless the
//translit flag was suffixed to the codeset name.
* glib/gconvert.c: Include win_iconv.c earlier so that its
definition of WINVER before it includes <windows.h> is used.
svn path=/trunk/; revision=6808
2008-03-31 Tor Lillqvist <tml@novell.com>
* glib/gmain.c (g_poll): Improve fix for #525192 below: Use
SleepEx() so that the sleep is alertable. Thanks to John
Ehresman.
svn path=/trunk/; revision=6794
2008-03-31 Tor Lillqvist <tml@novell.com>
* glib/gwin32.c
(g_win32_get_package_installation_directory_of_module): Fix Cygwin
breakage. Patch by Lieven van der Heide.
svn path=/trunk/; revision=6790
2008-03-31 Tor Lillqvist <tml@novell.com>
Bug 525192 - 100% CPU if run main loop with no IO sources
* glib/gmain.c (g_poll) [Win32]: Patch by Neil Roberts.
svn path=/trunk/; revision=6787
2008-03-30 Matthias Clasen <mclasen@redhat.com>
* glib/glibintl.h:
* glib/gstrfuncs.c:
* glib/gutils.c: Simple fixes to help building GLib on
embedded systems without NLS. (#524350, Peter Kjellerstedt)
svn path=/trunk/; revision=6779
2008-03-22 Claudio Saavedra <csaavedra@gnome.org>
Bug 523877 – gbookmarkfile: avoid using g_string_append_printf() and
other optimizations
* glib/gbookmarkfile.c: (bookmark_metadata_dump),
(bookmark_item_dump), (g_bookmark_file_dump), (expand_exec_line):
Replace all calls to g_string_append_printf with g_strconcat () or
g_string_append () where appropriate, to reduce the file creation time.
Also, use g_string_sized_new () with an appropriate buffer size instead
of g_string_new (NULL), to reduce time spent in memory reallocation.
(#523877, Claudio Saavedra, Emmanuele Bassi)
svn path=/trunk/; revision=6752
2008-03-22 Emmanuele Bassi <ebassi@gnome.org>
Bug 518160 - replace two g_strdup_printf calls in GBookmarkFile
* glib/gbookmarkfile.c (is_element_full): Compare the fragments
instead of building two strings; this avoids two g_strdup_printf()
per namespaced element enountered. (#518160, Felix Riemann)
svn path=/trunk/; revision=6751
2008-03-20 Alexander Larsson <alexl@redhat.com>
* configure.in:
Final fixes for struct statfs.f_fstypename checks (OpenBSD). (#521045)
Patch from ephraim_owns@hotmail.com
svn path=/trunk/; revision=6746
2008-03-19 Tor Lillqvist <tml@novell.com>
Bug 523298 - win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
* glib/win_iconv.c: Fixes for code page 54936 (GB18030)
(mbtowc_flags): New function. Check if a code page is one of those
for which the dwFlags parameter to MultiByteToWideChar() must be
zero. Return 0 or MB_ERR_INVALID_CHARS.
(mbcs_mblen): New function for multi-byte (more than two bytes for
some characters) code pages. Only handles 54936 for now.
(make_csconv): Use it for 54936.
(kernel_mbtowc): Use mbtowc_flags().
svn path=/trunk/; revision=6741
* glib/gutils.h: Use "__attribute__ ((__gnu_inline__))" for inlining
if either __GNUC_STDC_INLINE__ or __GNUC_GNU_INLINE__ are defined. In
gcc version prior to 4.3 no correct C99-inline was implemented which
has semantic differences to GNU inline.
svn path=/trunk/; revision=6733
2008-03-16 Tor Lillqvist <tml@novell.com>
* configure.in: Don't bother defining Autoconf variables for
glib.def, gmodule.def, gobject.def and gthread.def when this can
be handled easily in */Makefile.am which are the only files that
use them. Remove also TESTGMODULE_EXP which isn't used at all.
* */Makefile.am: Corrsponding changes.
svn path=/trunk/; revision=6722
2008-03-14 Michael Natterer <mitch@imendio.com>
* glib/*.h: make it possible to disable single-file includes by
defining G_DISABLE_SINGLE_INCLUDES when building against GLib.
Approved by Tim Janik.
* glib/glib.h: include <glib/gslice.h>.
* glib/gi18n.h
* glib/gi18n-lib.h
* glib/gprintf.h: include <glib.h> so the above works when these
files are included without including <glib.h> first.
svn path=/trunk/; revision=6713
2008-03-14 Alexander Larsson <alexl@redhat.com>
* glocalfile.c:
(g_local_file_query_filesystem_info):
Use right define name for f_fstypename member check
2008-03-14 Alexander Larsson <alexl@redhat.com>
* configure.in:
Add required includes for f_fstypename member check.
svn path=/trunk/; revision=6703
* configure.in:
* glib/gthread.h: Prevent the compiler from warning about breaking
strict-aliasing rules when using gcc 4.3 and G_LOCK on C sources.
svn path=/trunk/; revision=6691
2008-03-12 Tor Lillqvist <tml@novell.com>
Bug 520914 - win_iconv doesn't support UCS-2
* glib/win_iconv.c: Make UCS-2 just an alias for
UTF-16. Technically this is wrong of course, but shouldn't matter
an awful lot in practice.
svn path=/trunk/; revision=6686
2008-03-11 Murray Cumming <murrayc@murrayc.com>
Bug 521591 – g_markup_parse_context_parse() creates GError message that
is invalid UTF8.
* glib/gmarkup.c (set_error): Make sure that the GError::message is
valid UTF-8 even if it is complaining about invalid UTF-8 in the
markup text, using _g_utf8_make_valid().
svn path=/trunk/; revision=6680
2008-03-07 Alexander Larsson <alexl@redhat.com>
* glocalfile.c:
(g_local_file_query_filesystem_info):
Use struct statfs.f_fstypename if availible (e.g. on OpenBSD)
Patch from Jasper Lievisse Adriaanse
svn path=/trunk/; revision=6638
2008-03-04 Alexander Larsson <alexl@redhat.com>
* gfile.c:
Remove deprecated symbols we kept for one release.
2008-03-04 Alexander Larsson <alexl@redhat.com>
* glib/gurifuncs.c:
Remove deprecated symbols we kept for one release.
svn path=/trunk/; revision=6621
2008-03-03 Matthias Clasen <mclasen@redhat.com>
* glib/gutils.h: Add a version of G_INLINE_FUNC for
__GNUC__ && __GNUC_STDC_INLINE__, patch by Jakub Jelinek
svn path=/trunk/; revision=6616
2008-03-03 Tor Lillqvist <tml@novell.com>
* glib/gspawn-win32.c (read_helper_report): Must set the GError
also in the unexpected EOF case.
(do_spawn_with_pipes): Must protect also new_argv[0].
svn path=/trunk/; revision=6612
2008-02-29 Tor Lillqvist <tml@novell.com>
* glib/win_iconv.c (name_to_codepage): Add some GNU libiconv
compatibility: Recognize "" and "char" as aliases for the current
locale's charset. (We use the system ANSI codepage as returned by
GetACP().) Recognize "wchar_t" as an alias for UTF-16LE.
svn path=/trunk/; revision=6604
2008-02-26 Tor Lillqvist <tml@novell.com>
* glib/gmain.c (g_poll): Further patch by Vlad Grecescu: Drop
the code path that called WaitMessage(), as WaitMessage()
doesn't offer any chance for APCs to run. Instead just use the
code path with MsgWaitForMultipleObjectsEx() even for the
wait-only-for-messages case. (#517484)
svn path=/trunk/; revision=6597
2008-02-25 Alexander Larsson <alexl@redhat.com>
* glib/glib.symbols:
* glib/gurifuncs.[ch]:
Rename g_uri_get_scheme to g_uri_parse_scheme.
Keep g_uri_get_scheme() symbol for this
unstable release to avoid breaking to many apps.
svn path=/trunk/; revision=6588
2008-02-25 Alexander Larsson <alexl@redhat.com>
* glib/gurifuncs.[ch]:
Rename g_uri_get_scheme to g_uri_parse_scheme.
Keep g_uri_get_scheme() symbol for this
unstable release to avoid breaking to many apps.
svn path=/trunk/; revision=6587
2008-02-24 Tor Lillqvist <tml@novell.com>
* glib/gutils.c (_glib_get_installation_directory): New internal function.
* glib/gspawn-win32.c: When spawning the helper process, use an
explicit full path. (#518292)
* glib/gspawn-win32.c
* glib/gspawn-win32-helper.c: Fix race condition when using the
helper process: When the helper process writes the handle of the
actual started user process to the parent process, it must be
duplicated in the parent process with DuplicateHandle() so that it
is a valid handle in that process. However, if the helper process
has happened to exit before the DuplicateHandle() call, the
duplication will fail. Thus we must synchronise the helper
process's exit. Use another pipe for this.
Take care not to inherit the writing end of this pipe to the
helper process. Also, in the helper process, take care not to
inherit either of the pipes used for communication with the parent
process to the started user process.
svn path=/trunk/; revision=6575
2008-02-24 Tor Lillqvist <tml@novell.com>
* glib/gmain.c (g_poll) [Win32]: Use alertable wait functions so
that I/O completion routines or user-mode Asynchronous Procedure
Calls can be run. (#517484, Vlad Grecescu)
svn path=/trunk/; revision=6571
2008-02-24 Tor Lillqvist <tml@novell.com>
* glib/gutils.h: Mention G_WIN32_DLLMAIN_FOR_DLL_NAME() will be
deprecated in the future.
* glib/gutils.c: Drop use of G_WIN32_DLLMAIN_FOR_DLL_NAME(). Use a
minimal DllMain() instead that just saves the DLL handle.
(g_win32_get_system_data_dirs_for_module, _glib_get_locale_dir)
(get_module_share_dir): Use
g_win32_get_package_installation_directory_of_module().
svn path=/trunk/; revision=6570
2008-02-24 Tor Lillqvist <tml@novell.com>
* glib/gwin32.c
(g_win32_get_package_installation_directory_of_module): New
function. Supersedes g_win32_get_package_installation_directory()
and g_win32_get_package_installation_directory().
It makes more sense to have the function for this functionality
take a HMODULE as parameter instead of DLL name. The typical use
scenario has been to have a DllMain() function that retrieves the
full pathname for the DLL in question, and saves just the basename
of that. Then later code passes that saved dll basename to
g_win32_get_package_installation_directory(), which retrieves the
corresponding DLL handle, and then retrieves up its full
pathname. (Which DLlMain() already had.) It is less convoluted to
have a DllMain() that just saves the DLL handle, and then when
needed call this function to get the corresponding installation
folder.
(get_package_directory_from_module): Use
g_win32_get_package_installation_directory_of_module().
(g_win32_get_package_installation_directory)
(g_win32_get_package_installation_subdirectory): Mention these
functions will be deprecated and recommend using
g_win32_get_package_installation_directory_of_module() instead.
* glib/gwin32.h: Declare
g_win32_get_package_installation_directory_of_module().
* glib/glib.symbols: Add it.
svn path=/trunk/; revision=6569
2008-02-23 Matthias Clasen <mclasen@redhat.com>
* tests/testglib.c: Don't test user directories for being
non-null. (#517084, Yevgen Muntyan)
svn path=/trunk/; revision=6562
2008-02-20 Tor Lillqvist <tml@novell.com>
* glib/gtestutils.c (g_test_trap_fork) [Win32]: Change the
g_error() to g_message() to avoid stopping on warnings. At least
now testglib runs to completion and the old tests in it get
exercised even if the newfangled ones don't.
(g_test_trap_assertions) [Win32]: Bypass on Windows.
svn path=/trunk/; revision=6542
2008-02-17 Hans Breuer <hans@breuer.org>
* glib/gutils.c : define CSIDL_MYPICTURES if not available
* gthread/gthread-win32.c : use G_STRFUNC instead of compiler
specific __FUNCTION__
svn path=/trunk/; revision=6526
2008-02-13 Tor Lillqvist <tml@novell.com>
* glib/gwin32.c: Doc change: Deprecate passing anything but NULL
for the "package" parameter to
g_win32_get_package_installation_directory() and
g_win32_get_package_installation_subdirectory().
svn path=/trunk/; revision=6508
2008-02-10 Matthias Clasen <mclasen@redhat.com>
* glib/gtestutils.h: Make the g_test_add macro work with
gcc 4.3
* tests/gobject/paramspec-test.c: Adapt to recent changes in
GParamGType initialization.
svn path=/trunk/; revision=6500
2008-02-07 Tor Lillqvist <tml@novell.com>
* configure.in: Unfortunately the mingw implementations of
C99-style snprintf and vsnprintf don't seem to be quite good
enough, at least not in mingw-runtime-3.14. I don't know exactly
what the problem is, but it is related to floating point
formatting and decimal point vs. comma, and the symptoms show up
in some dialogs in GIMP, presumably also elsewhere. The simple
tests in AC_FUNC_VSNPRINTF_C99 and AC_FUNC_SNPRINTF_C99 aren't
rigorous enough to notice, though. So preset
ac_cv_func_vsnprintf_c99 and ac_cv_func_snprintf_c99 to "no".
svn path=/trunk/; revision=6482
2008-02-07 12:58:54 Tim Janik <timj@imendio.com>
* Makefile.am: fixed build order to build gobject after gmodule gthread
so gobject tests can be threaded.
svn path=/trunk/; revision=6480
2008-02-07 Ryan Lortie <desrt@desrt.ca>
* glib/gmessages.h (g_error): add for(;;); after the g_log call so
that GCC stops issuing false warnings about reachability Bug #514920
svn path=/trunk/; revision=6476