platform/upstream/glib.git
13 years agoUpdate Visual C++ README.txt
Chun-wei Fan [Wed, 18 May 2011 03:14:00 +0000 (11:14 +0800)]
Update Visual C++ README.txt

Correct the unpacking path of GLib...

13 years agoFix gsettings tool string handling
Ryan Lortie [Tue, 17 May 2011 15:58:46 +0000 (11:58 -0400)]
Fix gsettings tool string handling

There are some bugs caused by the way that gsettings-tool currently
attempts to help the user when they leave the quotes off of a string
value that they are setting.

Simplify the code to make it more robust and add some comments about why
it should be done this way.

https://bugzilla.gnome.org/show_bug.cgi?id=649915

13 years agogobject: Speed up g_type_from_name()
Benjamin Otte [Tue, 17 May 2011 12:58:39 +0000 (14:58 +0200)]
gobject: Speed up g_type_from_name()

The hash table used exclusively for looking up types by name used to map
quarks => types. But we can easily make it map strings => types, which
avoids the quark lookup. And that in trun avoids taking a lock and
consulting another hash table. So this change should make
g_type_from_name() roughly twice as fast.

13 years agokeyfile: fill parse buffer in line sized chunks
John Lindgren [Tue, 17 May 2011 03:03:30 +0000 (23:03 -0400)]
keyfile: fill parse buffer in line sized chunks

When loading a keyfile the incoming bytes are fed
to a line buffer to get parsed each time a new line
is encountered.

The code that fills the line buffer does it inefficiently,
one byte at a time.

This commit changes that code to look ahead at the incoming
bytes for the next '\n' character and then fill the line buffer
all at once.

https://bugzilla.gnome.org/show_bug.cgi?id=650211

13 years agokeyfile: avoid needless allocations on file load
John Lindgren [Tue, 17 May 2011 02:27:11 +0000 (22:27 -0400)]
keyfile: avoid needless allocations on file load

When loading a key file, the keys and values of individual lines
are allocated once when copied and trimmed from the parse buffer
and allocated/copied again when added to the lookup map.

This commit avoids the second pair of allocations by introducing
a new function g_key_file_add_key_value_pair that gives the
lookup map direct ownership of the key and value copied from the
parse buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=650211

13 years agoRename a problematic test binary
Matthias Clasen [Mon, 16 May 2011 18:38:45 +0000 (14:38 -0400)]
Rename a problematic test binary

Having a binary called printf is apparently asking for trouble,
so lets not do that.

http://bugzilla.gnome.org/show_bug.cgi?id=650078

13 years agoAdd gdbus autogenerated xml files to the ignore file
Emmanuele Bassi [Mon, 16 May 2011 15:10:06 +0000 (16:10 +0100)]
Add gdbus autogenerated xml files to the ignore file

13 years agom4macros/gsettings.m4: Use AS_HELP_STRING instead the deprecated AC_HELP_STRING
Javier Jardón [Mon, 16 May 2011 11:51:59 +0000 (12:51 +0100)]
m4macros/gsettings.m4: Use AS_HELP_STRING instead the deprecated AC_HELP_STRING

13 years agoautogen.sh: Use autoreconf instead custom script
Javier Jardón [Mon, 16 May 2011 10:51:29 +0000 (11:51 +0100)]
autogen.sh: Use autoreconf instead custom script

13 years agogdbus-codegen: Ensure that generated skeletons are MT-safe
David Zeuthen [Sun, 15 May 2011 15:45:37 +0000 (11:45 -0400)]
gdbus-codegen: Ensure that generated skeletons are MT-safe

For example, if setting a property on a skeleton from another thread
than where it was constructed, the idle handler responsible for
emitting the PropertiesChanged() signal could run immediately and
clear skeleton->priv->changed_properties_idle_source causing
g_source_unref() to be called with a NULL pointer. This race was
easily be fixed by adding a lock to the skeleton object.

In addition to fixing this race, also move the code for setting up the
idle handler to a class handler for the GObject::notify signal. This
change allows use of g_object_freeze_notify() and g_object_thaw_notify()
to perform atomic property changes from another thread than the one
that the skeleton was created in.

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agodocs: Improve punctuation in some of the GArray method documentation
Philip Withnall [Sun, 15 May 2011 14:31:16 +0000 (15:31 +0100)]
docs: Improve punctuation in some of the GArray method documentation

13 years agodocs: Add the cute trick comment to all sort functions
Benjamin Otte [Sun, 15 May 2011 14:16:30 +0000 (16:16 +0200)]
docs: Add the cute trick comment to all sort functions

Thanks to Sebastian Dröge for pointing out there's more than
g_array_sort() and I hadn't in fact added the comment to g_array_sort()
in 80928ea403cfff5ffaa4bc73e84e3d4ebcb09123

13 years agodocs: Add a cute trick for achieving a stable sort
Benjamin Otte [Sun, 15 May 2011 14:11:51 +0000 (16:11 +0200)]
docs: Add a cute trick for achieving a stable sort

This trick is inspired by
http://www.gnu.org/s/hello/manual/libc/Array-Sort-Function.html
http://jeffreystedfast.blogspot.com/2011/04/optimizing-merge-sort.html

13 years agoUpdated Esperanto translation
Kristjan SCHMIDT [Sun, 15 May 2011 08:16:59 +0000 (10:16 +0200)]
Updated Esperanto translation

13 years agogdbus-codegen: Use (skip) annotation on return values
David Zeuthen [Fri, 13 May 2011 18:23:14 +0000 (14:23 -0400)]
gdbus-codegen: Use (skip) annotation on return values

This was discussed in bug 649657.

https://bugzilla.gnome.org/show_bug.cgi?id=649657

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoUpdated Hebrew translation.
Yaron Shahrabani [Fri, 13 May 2011 05:38:35 +0000 (08:38 +0300)]
Updated Hebrew translation.

13 years agoGDBusConnection: Document that sockets are frobbed into non-blocking mode
David Zeuthen [Thu, 12 May 2011 19:36:34 +0000 (15:36 -0400)]
GDBusConnection: Document that sockets are frobbed into non-blocking mode

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agogdbus-codegen: Mark members in generated class instance structs as private
David Zeuthen [Thu, 12 May 2011 01:16:41 +0000 (21:16 -0400)]
gdbus-codegen: Mark members in generated class instance structs as private

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoAdd g_dbus_method_invocation_take_error() convenience method
David Zeuthen [Thu, 12 May 2011 00:57:54 +0000 (20:57 -0400)]
Add g_dbus_method_invocation_take_error() convenience method

Similar in spirit to g_simple_async_result_take_error().

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agogdbus-codegen: Fix annotation parsing
Colin Walters [Wed, 11 May 2011 21:13:57 +0000 (17:13 -0400)]
gdbus-codegen: Fix annotation parsing

It takes 3 options.

13 years agogdbus-codegen: Quote substitution variables
Maarten Bosmans [Wed, 11 May 2011 19:47:00 +0000 (15:47 -0400)]
gdbus-codegen: Quote substitution variables

Avoids failure if they contain spaces.

Commit message written by Colin Walters <walters@verbum.org>

https://bugzilla.gnome.org/show_bug.cgi?id=649775

13 years agogdbus-codegen: Drop dependency on argparse
Colin Walters [Wed, 11 May 2011 19:02:23 +0000 (15:02 -0400)]
gdbus-codegen: Drop dependency on argparse

This is only in Python 2.7 or as a separate module.  Use optparse
which exists since 2.3.

https://bugzilla.gnome.org/show_bug.cgi?id=649988

13 years agogbase64: fix introspection annotations
Giovanni Campagna [Sun, 3 Apr 2011 15:19:48 +0000 (17:19 +0200)]
gbase64: fix introspection annotations

Makes the g_base64_* functions usable from introspection GLib bindings
(gjs, currently, as both vala and pygobject use manual bindings for
GLib)

https://bugzilla.gnome.org/show_bug.cgi?id=646635

13 years agogdatetime: Quiet GCC warning about possibly-uninitialized
Colin Walters [Wed, 11 May 2011 17:19:05 +0000 (13:19 -0400)]
gdatetime: Quiet GCC warning about possibly-uninitialized

13 years agoGSettings: fix example in the docs
Ryan Lortie [Tue, 10 May 2011 13:25:54 +0000 (15:25 +0200)]
GSettings: fix example in the docs

13 years agoGDBusMethodInvocation: fix introspection annotations
Giovanni Campagna [Tue, 3 May 2011 16:54:45 +0000 (18:54 +0200)]
GDBusMethodInvocation: fix introspection annotations

In particular (transfer full), to avoid a refcounting bug and a
segmentation fault.

https://bugzilla.gnome.org/show_bug.cgi?id=646635

13 years ago[gi] Add missing allow-none annotations to GDBusConnection
Martin Pitt [Sun, 8 May 2011 12:12:23 +0000 (14:12 +0200)]
[gi] Add missing allow-none annotations to GDBusConnection

13 years agoUpdated Russian translation
Yuri Kozlov [Sun, 20 Mar 2011 07:50:35 +0000 (10:50 +0300)]
Updated Russian translation

13 years agoUpdated Spanish translation
Daniel Mustieles [Sat, 7 May 2011 10:38:56 +0000 (12:38 +0200)]
Updated Spanish translation

13 years agoGSettings: keep resets on loss of writability
Ryan Lortie [Sat, 7 May 2011 09:42:46 +0000 (11:42 +0200)]
GSettings: keep resets on loss of writability

Don't drop resets from a GDelayedSettingsBackend when the writability
changes.  Resets will always succeed, even against non-writable keys and
some people (gnome-screensaver) are using them in a way that they would
want them not to be forgotten.

13 years agoAllow NULL to be stored into GSettings trees
Ryan Lortie [Sat, 7 May 2011 09:41:19 +0000 (11:41 +0200)]
Allow NULL to be stored into GSettings trees

This is used for resets (in theory) and currently it crashes when
freeing the tree.

13 years agogdbus: Add a --timeout option
David Zeuthen [Fri, 6 May 2011 19:25:49 +0000 (15:25 -0400)]
gdbus: Add a --timeout option

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agogdbus-codegen: fix typo in man page
Ray Strode [Fri, 6 May 2011 17:00:38 +0000 (13:00 -0400)]
gdbus-codegen: fix typo in man page

s/on_handle_hello-world/on_handle_hello_world/

13 years agogdbus-codegen: gracefully handle property get on proxy with no cached property
David Zeuthen [Fri, 6 May 2011 14:32:42 +0000 (10:32 -0400)]
gdbus-codegen: gracefully handle property get on proxy with no cached property

This can easily happen if the owner of the remote object vanishes. Of
course, when that happens, user code is already notified (by e.g. the
notify::g-name-owner signal) so it can avoid using the proxy but
requiring that is a bit harsh. IOW, before this patch this critical
error was printed

 GLib-GIO-CRITICAL **: g_dbus_gvariant_to_gvalue: assertion `value != NULL' failed

when that happened. With this patch, we just avoid setting the GValue
so the user will get the default value for its type instead. So, for
example, if the user code is getting a GVariant property on such a
defunct proxy, then he gets a NULL back. So unless said user code
checks the return value, criticals will still be printed if the NULL
GVariant is used for anything interesting.

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoDocumentation additions
Matthias Clasen [Fri, 6 May 2011 11:14:48 +0000 (07:14 -0400)]
Documentation additions

Add Since tags to recently introduced test function typedefs.
https://bugzilla.gnome.org/show_bug.cgi?id=649506

13 years agoAdd two annotations for g-i
Dan Winship [Thu, 5 May 2011 19:18:22 +0000 (15:18 -0400)]
Add two annotations for g-i

13 years agoAdd tests for new GDateTime functionality
Matthias Clasen [Thu, 5 May 2011 18:52:19 +0000 (14:52 -0400)]
Add tests for new GDateTime functionality

13 years agoExpand the g_date_time_format documentation
Matthias Clasen [Thu, 5 May 2011 17:40:51 +0000 (13:40 -0400)]
Expand the g_date_time_format documentation

Mention strftime, and explain supported modifiers.

13 years agoGDateTime: enhance g_date_time_format()
Matthias Clasen [Thu, 5 May 2011 17:16:30 +0000 (13:16 -0400)]
GDateTime: enhance g_date_time_format()

Make g_date_time_format() support some useful format modifiers from
strftime(). This commit adds support for the POSIX 'O' modifier
(alternative digits), as well as the -/_/0 padding modifiers, which
are a GNU strftime() extension.
https://bugzilla.gnome.org/show_bug.cgi?id=648678

13 years agoGSocket: Use MSG_CMSG_CLOEXEC
Colin Walters [Thu, 5 May 2011 17:16:54 +0000 (13:16 -0400)]
GSocket: Use MSG_CMSG_CLOEXEC

This ensures received file descriptors don't leak to child processes.

https://bugzilla.gnome.org/show_bug.cgi?id=649480

13 years agoUpdate VS2010 "install" project
Chun-wei Fan [Thu, 5 May 2011 07:09:51 +0000 (15:09 +0800)]
Update VS2010 "install" project

The dependencies on gsettings and glib-compile-schemas were missed-made
up for them here.

13 years agoUpdate gcancellable.c for Win32
Chun-wei Fan [Thu, 5 May 2011 05:40:38 +0000 (13:40 +0800)]
Update gcancellable.c for Win32

errno.h is still required for Windows in this file...

13 years agoUpdate VS property sheets
Chun-wei Fan [Thu, 5 May 2011 05:36:34 +0000 (13:36 +0800)]
Update VS property sheets

There are some new public headers added for GIO.  Make up for them here
in the install phase

13 years agoMSVC support update for GObject
Chun-wei Fan [Thu, 5 May 2011 04:42:44 +0000 (12:42 +0800)]
MSVC support update for GObject

Apparently GObject now depends on libffi.  Add it to the dependencies list.

For MSVC, use the libffi-3.0.10(rcx) versions.

13 years agoGLib MSVC Support updates (autotools)
Chun-wei Fan [Thu, 5 May 2011 04:35:45 +0000 (12:35 +0800)]
GLib MSVC Support updates (autotools)

Filter out *-unix.c from the source file list, as it is obviously not
usable (nor used) under VS 2008/2010

13 years agoPost-release bump
Matthias Clasen [Thu, 5 May 2011 01:26:11 +0000 (21:26 -0400)]
Post-release bump

13 years agoMore distcheck fixes 2.29.4
Matthias Clasen [Thu, 5 May 2011 00:45:46 +0000 (20:45 -0400)]
More distcheck fixes

13 years agoTry to fix distcheck
Matthias Clasen [Wed, 4 May 2011 23:44:05 +0000 (19:44 -0400)]
Try to fix distcheck

13 years agoPre-release bump
Matthias Clasen [Wed, 4 May 2011 18:53:08 +0000 (14:53 -0400)]
Pre-release bump

13 years agoUpdates
Matthias Clasen [Wed, 4 May 2011 18:33:03 +0000 (14:33 -0400)]
Updates

13 years agogdbus-codegen: don't assert non-negativity for unsigned values
Ray Strode [Wed, 4 May 2011 16:45:22 +0000 (12:45 -0400)]
gdbus-codegen: don't assert non-negativity for unsigned values

The code generator sprinkles a few asserts in its output of the form:

g_assert (prop_id - 1 >= 0 && prop_id - 1 < %d);\n

prop_id is unsigned, though, so this generates a compiler warning for
me.

This commit changes the code to merely check for prop_id != 0 instead of
prop_id - 1 >= 0

13 years agoGVariant: Better handling of invalid UTF-8
Ryan Lortie [Wed, 4 May 2011 16:12:31 +0000 (18:12 +0200)]
GVariant: Better handling of invalid UTF-8

g_variant_new_string() hits a g_return_if_fail() when given invalid
UTF-8.  That's certainly the right thing to do, but
g_variant_builder_add() uses this function internally and crashes when
it returns NULL due to the user passing a non-utf8 string.

We can protect the internal code by returning "[Invalid UTF-8]" in this
case while also making the problem easier to debug (and less fatal).

Closes #632631.

13 years agogdbus-codegen: Make sure we pass -Werror
Alexander Larsson [Wed, 4 May 2011 11:54:34 +0000 (13:54 +0200)]
gdbus-codegen: Make sure we pass -Werror

_g_value_equal might not always be used, so mark it G_GNUC_UNUSED
to make sure we're -Werror clean.

13 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Wed, 4 May 2011 09:06:44 +0000 (11:06 +0200)]
Updated Norwegian bokmål translation

13 years agoGDBusObjectManagerServer: Allow setting :connection property
David Zeuthen [Wed, 4 May 2011 07:37:46 +0000 (03:37 -0400)]
GDBusObjectManagerServer: Allow setting :connection property

.. and add a C setter to do this. Also make the C getter return a
reference since the property may be set from another thread. Also
change the constructor to _not_ take a GDBusConnection since this is
something you almost always want to do _after_ creating it. The
API/ABI break is fine as there has never been a GLib release with this
type.

https://bugzilla.gnome.org/show_bug.cgi?id=648959

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoRename g_unix_pipe_flags to g_unix_open_pipe
Colin Walters [Tue, 3 May 2011 20:31:34 +0000 (16:31 -0400)]
Rename g_unix_pipe_flags to g_unix_open_pipe

From IRC discussion, people liked this name more.

https://bugzilla.gnome.org/show_bug.cgi?id=649322

13 years agoRemove extraneous decorations
Matthias Clasen [Tue, 3 May 2011 23:15:46 +0000 (19:15 -0400)]
Remove extraneous decorations

Since in a doc comment takes no leading '@'.

13 years agoglib-unix.c: Don't leak FDs if pipe2() succeeds
Colin Walters [Tue, 3 May 2011 20:22:13 +0000 (16:22 -0400)]
glib-unix.c: Don't leak FDs if pipe2() succeeds

13 years agoOnly remove the lines that are no longer needed
Matthias Clasen [Tue, 3 May 2011 16:41:11 +0000 (12:41 -0400)]
Only remove the lines that are no longer needed

13 years agoRevert "[build] Remove stale LDADD lines from tests/Makefile.am to allow build"
Matthias Clasen [Tue, 3 May 2011 16:37:45 +0000 (12:37 -0400)]
Revert "[build] Remove stale LDADD lines from tests/Makefile.am to allow build"

This reverts commit b0874ce28e910121fb2d94f6f9183bfdc08e8eaf.

13 years agoUse g types in public API for consistency
Colin Walters [Tue, 3 May 2011 14:57:22 +0000 (10:57 -0400)]
Use g types in public API for consistency

13 years agoGCancellable: Use g_unix_pipe_flags with FD_CLOEXEC
Colin Walters [Mon, 2 May 2011 19:42:51 +0000 (15:42 -0400)]
GCancellable: Use g_unix_pipe_flags with FD_CLOEXEC

The old code was creating a pipe and setting FD_CLOEXEC
non-atomically.

https://bugzilla.gnome.org/show_bug.cgi?id=649225

13 years agog_unix_set_fd_nonblocking: New API to control file descriptor blocking state
Colin Walters [Tue, 3 May 2011 13:52:10 +0000 (09:52 -0400)]
g_unix_set_fd_nonblocking: New API to control file descriptor blocking state

And use it in relevant places in GLib.

https://bugzilla.gnome.org/show_bug.cgi?id=649225

13 years agoglib-unix.h: Unconditionally include unistd.h
Colin Walters [Mon, 2 May 2011 21:02:16 +0000 (17:02 -0400)]
glib-unix.h: Unconditionally include unistd.h

danw points out it's part of POSIX.

https://bugzilla.gnome.org/show_bug.cgi?id=649201

13 years agoFix usage of _GNU_SOURCE
Dan Winship [Sun, 1 May 2011 15:17:14 +0000 (11:17 -0400)]
Fix usage of _GNU_SOURCE

_GNU_SOURCE must be defined before including any other (system)
header, so defining it in glib-unix.h (and hoping no one has included
anything else before that) is wrong. And the "#define _USE_GNU"
workaround for this problem in gnetworkingprivate.h is even wronger
(and still prone to failure anyway due to single-include guards).

Fix this by defining _GNU_SOURCE in config.h when building against
glibc. In theory this is bad because new releases of glibc may include
symbols that conflict with glib symbols, which could then cause
compile failures. However, most people only see new releases of glibc
when they upgrade their distro, at which point they also generally get
new releases of gcc, which have new warnings/errors to clean up
anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=649201

13 years agoAdd back an erroneously-removed line to tests/Makefile.am
Dan Winship [Mon, 2 May 2011 21:06:37 +0000 (17:06 -0400)]
Add back an erroneously-removed line to tests/Makefile.am

13 years agoDrop translated g_warning/g_error
Colin Walters [Fri, 29 Apr 2011 14:59:42 +0000 (10:59 -0400)]
Drop translated g_warning/g_error

http://mail.gnome.org/archives/desktop-devel-list/2011-March/msg00069.html

13 years agoglib/Makefile.am: add gmain-internal.h to sources
Ray Strode [Mon, 2 May 2011 16:33:36 +0000 (12:33 -0400)]
glib/Makefile.am: add gmain-internal.h to sources

It's a new private header.

This commit adds it to the Makefile so it's properly distributed
with the sources.

13 years agogobject: Warn if someone uses the wrong property in g_object_get/set
Benjamin Otte [Mon, 2 May 2011 17:22:25 +0000 (19:22 +0200)]
gobject: Warn if someone uses the wrong property in g_object_get/set

"Interface::property" was not detected before and led to a crash.

13 years agoAdded UG translation
Abduxukur Abdurixit [Mon, 2 May 2011 16:29:59 +0000 (18:29 +0200)]
Added UG translation

13 years agoFix compiler warnings
Dan Winship [Mon, 2 May 2011 15:45:52 +0000 (11:45 -0400)]
Fix compiler warnings

13 years agoFix autoconf 2.68 warnings
Dan Winship [Mon, 2 May 2011 15:44:46 +0000 (11:44 -0400)]
Fix autoconf 2.68 warnings

autoconf 2.68 is very insistent that AC_LANG_SOURCE/AC_LANG_PROGRAM
must be used in certain places, to avoid quoting/lack-of-quoting
problems, or something. Fix.

13 years agoBug 648966 - Update g_unichar_iswide and g_unichar_iswide_cjk
Behdad Esfahbod [Mon, 2 May 2011 15:43:02 +0000 (11:43 -0400)]
Bug 648966 - Update g_unichar_iswide and g_unichar_iswide_cjk

Add tests.

13 years ago[build] Remove stale LDADD lines from tests/Makefile.am to allow build
Behdad Esfahbod [Mon, 2 May 2011 15:26:01 +0000 (11:26 -0400)]
[build] Remove stale LDADD lines from tests/Makefile.am to allow build

Automake 1.11 wasn't happy.

13 years agoUpdate .gitignores
Dan Winship [Mon, 2 May 2011 13:53:59 +0000 (09:53 -0400)]
Update .gitignores

13 years agoSome documentation additions
Matthias Clasen [Mon, 2 May 2011 03:02:53 +0000 (23:02 -0400)]
Some documentation additions

13 years agoAvoid an unused variable warning
Matthias Clasen [Mon, 2 May 2011 00:43:04 +0000 (20:43 -0400)]
Avoid an unused variable warning

Also, clean up some whitespace

13 years agoFix make check
Matthias Clasen [Sun, 1 May 2011 21:07:46 +0000 (17:07 -0400)]
Fix make check

g_thread_init() causes a hash table to be allocated (in read_aliases).
Since hash tables are now a bit larger, we need to bump one of the
probe sizes to avoid our probe slice being used for the aliases
hash table.

13 years agoAdded UG translation
Abduxukur Abdurixit [Sun, 1 May 2011 18:04:51 +0000 (20:04 +0200)]
Added UG translation

13 years agoGHash: make sets with refcounted keys work correctly
Matthias Clasen [Sun, 1 May 2011 14:55:24 +0000 (10:55 -0400)]
GHash: make sets with refcounted keys work correctly

When keys == values, we have to be careful about the order in
which we replace their elements.

13 years agoGHash: introduce a "set" mode
Matthias Clasen [Sun, 1 May 2011 02:28:34 +0000 (22:28 -0400)]
GHash: introduce a "set" mode

Make hash tables start out in a mode in which they don't store
values at all, until the first insertion of a non-identical
key-value pair.

This reduces memory requirements by 1/3 when using hash tables
to store sets.

Based on a patch by Morten Welinder,
https://bugzilla.gnome.org/show_bug.cgi?id=644437

13 years agoGHash: eliminate one of the lookup_nodes functions.
Morten Welinder [Wed, 27 Apr 2011 14:46:00 +0000 (10:46 -0400)]
GHash: eliminate one of the lookup_nodes functions.

Kill g_hash_table_lookup_node and rename g_hash_table_lookup_node_for_insertion
to g_hash_table_lookup_node.  Since at this point we already check for
toombstones in all callers of g_hash_table_lookup_node this doesn't make
a difference.

https://bugzilla.gnome.org/show_bug.cgi?id=644437

13 years agoGHash: split nodes array into seperate arrays.
Morten Welinder [Wed, 27 Apr 2011 14:39:56 +0000 (10:39 -0400)]
GHash: split nodes array into seperate arrays.

This reduces memory requirements by 1/6 on 64-bit machines since
no padding is needed.  It also puts less strain on the memory
allocator since we no longer need one giant slab of memory.

https://bugzilla.gnome.org/show_bug.cgi?id=644437

13 years agoGHash: use macros to check for magic hash values.
Morten Welinder [Wed, 27 Apr 2011 13:53:39 +0000 (09:53 -0400)]
GHash: use macros to check for magic hash values.

https://bugzilla.gnome.org/show_bug.cgi?id=644437

13 years agoUpdate VS2008/2010 README.txt
Chun-wei Fan [Sun, 1 May 2011 01:42:22 +0000 (09:42 +0800)]
Update VS2008/2010 README.txt

Tell people about the usage of ZLib to avoid the
problem such as the one mentioned in Bug 633977

13 years agoBug 648966 - Update g_unichar_iswide and g_unichar_iswide_cjk
Behdad Esfahbod [Fri, 29 Apr 2011 20:14:49 +0000 (16:14 -0400)]
Bug 648966 - Update g_unichar_iswide and g_unichar_iswide_cjk

Update to Unicode 6.0.  Also attach Python script that generates
the tables.

13 years agoRemove duplicate GDBusInterface declaration
Ryan Lortie [Fri, 29 Apr 2011 21:06:26 +0000 (17:06 -0400)]
Remove duplicate GDBusInterface declaration

It was in gdbusinterface.h but also in giotypes.h.  Remove it from the
former.

13 years agoUpdate docs to take comments/suggestions from Matthias into account
David Zeuthen [Fri, 29 Apr 2011 17:11:22 +0000 (13:11 -0400)]
Update docs to take comments/suggestions from Matthias into account

Signed-off-by: David Zeuthen <davidz@redhat.com>
13 years agoMerge branch 'master' into gdbus-codegen
David Zeuthen [Fri, 29 Apr 2011 16:01:35 +0000 (12:01 -0400)]
Merge branch 'master' into gdbus-codegen

13 years agoGFilterInputStream: close-base-stream should not be construct-only
Alexander Larsson [Fri, 29 Apr 2011 14:14:17 +0000 (16:14 +0200)]
GFilterInputStream: close-base-stream should not be construct-only

This is a runtime changable property (by the methods for it), must
be a cut and paste error.

13 years agoUse SIGTRAP (via G_BREAKPOINT()) if G_DEBUG=fatal-warnings
Colin Walters [Tue, 26 Apr 2011 17:04:25 +0000 (13:04 -0400)]
Use SIGTRAP (via G_BREAKPOINT()) if G_DEBUG=fatal-warnings

On Linux with gdb, it's much more convenient to debug programs using
G_DEBUG=fatal-warnings if we send SIGTRAP instead of abort() by
default.  The default handler for both is to terminate the process.

In particular this makes it more easily possible to debug a warning
that's not the first in a program; you can skip past it and
go to the warning you care about.

The "aborting..." message is removed since it's no longer accurate,
and anyways was never very useful; crashes should show up in ABRT/apport
type crash catching systems.

https://bugzilla.gnome.org/show_bug.cgi?id=648423

13 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 28 Apr 2011 18:45:34 +0000 (20:45 +0200)]
Updated Spanish translation

13 years agoglib/gvariant.c: Fix variable name in example code
Shaun McCance [Thu, 28 Apr 2011 16:41:41 +0000 (12:41 -0400)]
glib/gvariant.c: Fix variable name in example code

13 years agoDrop stray reference to gthread.la
Colin Walters [Wed, 27 Apr 2011 23:09:38 +0000 (19:09 -0400)]
Drop stray reference to gthread.la

We now build this test multithreaded in gthread/tests.

13 years agoglib/Makefile.am: Remove stray tab
Colin Walters [Wed, 27 Apr 2011 22:42:29 +0000 (18:42 -0400)]
glib/Makefile.am: Remove stray tab

13 years agoglib-unix: New API to watch some Unix signals
Colin Walters [Thu, 17 Mar 2011 14:11:41 +0000 (10:11 -0400)]
glib-unix: New API to watch some Unix signals

This new API allows watching a few select Unix signals;
looking through the list on my system, I didn't see anything
else that I think it'd reasonable to watch.

We build on the previous patch to make the child watch helper thread
that existed on Unix handle these signals in the threaded case.
In the non-threaded case, they're just global variables.

https://bugzilla.gnome.org/show_bug.cgi?id=644941

13 years agogmain: Prepare child watch handling for more generic signal handling
Colin Walters [Wed, 16 Mar 2011 23:02:15 +0000 (19:02 -0400)]
gmain: Prepare child watch handling for more generic signal handling

In preparation for supporting more Unix signals such as SIGHUP,
SIGTERM etc.,

https://bugzilla.gnome.org/show_bug.cgi?id=644941

13 years agoglib-unix: New Unix-specific API
Colin Walters [Wed, 16 Mar 2011 17:54:28 +0000 (13:54 -0400)]
glib-unix: New Unix-specific API

GLib historically has been designed to be "mostly" portable; there
are some functions only available on Unix like g_io_channel_unix_new(),
but these are typically paired with obvious counterparts for Win32.

However, as GLib is used not only by portable software, but components
targeting Unix (or even just Linux), there are a few cases where it
would be very convenient if GLib shipped built-in functionality.

This initial patch is a basic wrapper around pipe2(), including
fallbacks for older kernels.  This pairs well with the
existing g_spawn_*() API and its child_setup functionality.

However, in the future, I want to add a signal() wrapper here,
complete with proxying the signal to a mainloop.  I have initial code
for this, but doing it sanely (including factoring out gmain.c's
private worker thread), is a complex task, and I don't want to block
on that.

See also gwin32.h for Win32 specific functionality.

https://bugzilla.gnome.org/show_bug.cgi?id=644941

13 years agoUpdate gio.symbols for previous two commits
Colin Walters [Wed, 27 Apr 2011 17:29:07 +0000 (13:29 -0400)]
Update gio.symbols for previous two commits

13 years agoGDesktopAppInfo: Add g_desktop_app_info_get_generic_name
Colin Walters [Wed, 27 Apr 2011 15:34:23 +0000 (11:34 -0400)]
GDesktopAppInfo: Add g_desktop_app_info_get_generic_name

Necessary for rebasing gnome-menus on top of GDesktopAppInfo.

https://bugzilla.gnome.org/show_bug.cgi?id=647967