Ryan Lortie [Fri, 3 Jun 2011 18:29:41 +0000 (20:29 +0200)]
bitlock: hand-code assembly version for x86
The __sync_fetch_and_or() operation on x86 is a bit suboptimal when the
result isn't ignored. Normally we could use the 'lock or' assembly
instruction to accomplish this, but this instruction discards the
previous value.
In order to work around this issue, GCC is forced to emit a
compare-and-exchange loop.
We can easily use the 'lock bts' instruction, though. It can't be used
in the general case for __sync_fetch_and_or() but it works great for our
case (test and set a single bit).
I filed a bug against GCC[1] to get this exposed as a new intrinsic (or
have the optimiser detect the case) but until then we'll hand-code it on
x86 and amd64.
The uncontended case sees a 31% improvement on my test machine.
[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49244
https://bugzilla.gnome.org/show_bug.cgi?id=651467
Giovanni Campagna [Wed, 1 Jun 2011 14:45:43 +0000 (16:45 +0200)]
gvariant: fix introspection annotations
g_variant_get_strv and g_variant_get_bytestring return arrays that
are null terminated and have an explicit length. Since gjs doesn't
support (out) arrays with length, mark them also null-terminated
(but leave the length annotation, so pygobject can remove the argument)
https://bugzilla.gnome.org/show_bug.cgi?id=646635
David Zeuthen [Fri, 3 Jun 2011 18:45:29 +0000 (14:45 -0400)]
Fix include path for gdbus-codegen example XML
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Fri, 3 Jun 2011 18:39:04 +0000 (14:39 -0400)]
Fix docs for D-Bus introspection data structures
Mark structs as boxed types and use /*< public >*/ so the struct
members are properly shown.
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Fri, 3 Jun 2011 17:22:31 +0000 (13:22 -0400)]
Move gdbus-codegen example code and docs into separate directories
This avoids the generated types (e.g. ExampleAnimal, ExampleCat,
ExampleObject and ExampleObjectManagerClient) being referenced in the
core gio docs. This was requested by Matthias.
Signed-off-by: David Zeuthen <davidz@redhat.com>
Colin Walters [Thu, 2 Jun 2011 21:14:58 +0000 (17:14 -0400)]
gobject: Use _ prefixing in private headers over G_GNUC_INTERNAL in public headers
This helps out gtk-doc and g-ir-scanner, and also makes much clearer
what's private versus public.
https://bugzilla.gnome.org/show_bug.cgi?id=651745
Colin Walters [Thu, 2 Jun 2011 15:53:25 +0000 (11:53 -0400)]
spawn-multithreaded: New test case
We didn't have any coverage of threads spawning processes, which we
should definitely support.
https://bugzilla.gnome.org/show_bug.cgi?id=651725
Colin Walters [Thu, 2 Jun 2011 13:10:36 +0000 (09:10 -0400)]
gmain: Consolidate UNIX signal init state handling
For a future signalfd() patch, it will be easier to handle if
we don't separate initialization from watching for a particular
signal.
https://bugzilla.gnome.org/show_bug.cgi?id=651725
Colin Walters [Thu, 2 Jun 2011 12:56:25 +0000 (08:56 -0400)]
gmain: Clean up SIGCHLD handling
Unify it more with the rest of the signal handling code. There's
no reason not to specify SA_RESTART and SA_NOCLDSTOP for flags
always, so just do it.
Remove unnecessary initialization, and push the internal API
towards just ensure_unix_signal_handler_installed_unlocked().
https://bugzilla.gnome.org/show_bug.cgi?id=651725
Hanro [Thu, 2 Jun 2011 19:44:19 +0000 (15:44 -0400)]
gkeyfile: Only test file descriptors against -1
Windows CE at least will return other (valid) negative values.
Colin Walters [Wed, 1 Jun 2011 19:11:02 +0000 (15:11 -0400)]
gdbus: Avoid blocking on worker thread in connection initialization
I can't see a reason to spin until the worker thread runs, so don't.
This avoids ugly sched_yield() calls that show up in strace and
annoy me; the code is cleaner now too.
We now grab the types needed for the WebKit workaround in the
thread creation area, but only release them when the thread itself
exits.
https://bugzilla.gnome.org/show_bug.cgi?id=651650
Matthias Clasen [Tue, 31 May 2011 23:23:14 +0000 (19:23 -0400)]
Expand content type docs slighly
Matthias Clasen [Tue, 31 May 2011 18:53:30 +0000 (14:53 -0400)]
Add a note about atomic changes
Colin Walters [Tue, 31 May 2011 17:36:16 +0000 (13:36 -0400)]
Add a boxed type for GVariantBuilder, mark GVariantIter as (skip)
Based on a patch by Giovanni Campagna <gcampagna@src.gnome.org>
From discussion, GVariantIter is not useful for bindings, but
GVariantBuilder may be.
https://bugzilla.gnome.org/show_bug.cgi?id=646635
Colin Walters [Tue, 31 May 2011 17:25:09 +0000 (13:25 -0400)]
gutils.c: Annotation fixes
Colin Walters [Tue, 31 May 2011 17:10:12 +0000 (13:10 -0400)]
g_shell_parse_argv: Annotate
Colin Walters [Tue, 31 May 2011 16:00:41 +0000 (12:00 -0400)]
gfileutils: Annotations for g_file_{get,set}_contents
These are actually byte arrays.
Colin Walters [Tue, 31 May 2011 14:35:38 +0000 (10:35 -0400)]
Consistently use G_GNUC_EXTENSION instead of __extension__
g-ir-scanner doesn't like __extension__, and while I can add it, since
we have this macro, we should be using it consistently.
muralis [Wed, 25 May 2011 08:12:59 +0000 (13:42 +0530)]
gthreadedresolver: fix hang on g_thread_pool_push() failure
In resolve_sync function in gthreadedresolver.c, if g_thread_pool_push
fails due to thread creation failure, we are just simply appending the
data to the queue of work to do. After the failure, we might wait
indefinitely in g_cond_wait. In case of g_thread_pool_push failure,
propagate the error so that this function does not blocks forever in
case of failure.
https://bugzilla.gnome.org/show_bug.cgi?id=651034
Carles Ferrando [Sun, 29 May 2011 12:04:16 +0000 (14:04 +0200)]
[l10n]Updated Catalan (Valencian) translation
Jorge González [Sun, 29 May 2011 07:47:30 +0000 (09:47 +0200)]
Updated Spanish translation
Matthias Clasen [Sun, 29 May 2011 04:05:07 +0000 (00:05 -0400)]
Documentation fixups
Matthias Clasen [Sun, 29 May 2011 03:27:24 +0000 (23:27 -0400)]
Clean up includes
Matthias Clasen [Sun, 29 May 2011 03:15:07 +0000 (23:15 -0400)]
Reduce excessive whitespace
Matthias Clasen [Sun, 29 May 2011 02:49:59 +0000 (22:49 -0400)]
Remove redundant comments
The comments in gthreadpool.h were duplicating the
doc comments in the sources.
Matthias Clasen [Sun, 29 May 2011 02:33:37 +0000 (22:33 -0400)]
Volatile not necessary after all
I was temporarily confused.
Matthias Clasen [Sun, 29 May 2011 02:03:05 +0000 (22:03 -0400)]
GTree: Declare ref_count as volatile
Matthias Clasen [Sun, 29 May 2011 02:02:13 +0000 (22:02 -0400)]
GAsyncQueue: Make ref_count a volatile gint
Matthias Clasen [Sun, 29 May 2011 01:43:45 +0000 (21:43 -0400)]
GAsyncQueue: Remove excessive atomic operations
Almost every function was double-checking the ref count,
unnecessarily.
Matthias Clasen [Sun, 29 May 2011 01:41:08 +0000 (21:41 -0400)]
GArray: Avoid unncessary atomic accesses to refcounts
Not really necessary to double-check the ref-count.
Matthias Clasen [Sun, 29 May 2011 01:40:12 +0000 (21:40 -0400)]
GHash: Avoid nonatomic access to the reference count
Not really necessary to constantly double-check the ref
count, anyway.
Matthias Clasen [Sun, 29 May 2011 01:14:36 +0000 (21:14 -0400)]
Fix a typo
Matthias Clasen [Sun, 29 May 2011 01:12:52 +0000 (21:12 -0400)]
Documentation tweaks
Add Since tags, etc.
Neil Roberts [Sat, 28 May 2011 14:13:11 +0000 (15:13 +0100)]
gsocket: Fix some cases of returning error without setting *error
g_socket_shutdown and g_socket_close were calling check_socket with a
NULL error parameter so any errors wouldn't get propagated up.
https://bugzilla.gnome.org/show_bug.cgi?id=651327
Neil Roberts [Sat, 28 May 2011 14:06:45 +0000 (15:06 +0100)]
gsocket: Fix the error message for a failed g_socket_shutdown
The GError message for g_socket_shutdown was reporting that it was
"Unable to create socket" which is presumably a cut-and-paste bug.
https://bugzilla.gnome.org/show_bug.cgi?id=651327
Antoine Jacoutot [Fri, 27 May 2011 09:08:13 +0000 (11:08 +0200)]
Fix compile warnings on OpenBSD.
https://bugzilla.gnome.org/show_bug.cgi?id=651223
Matthias Clasen [Sat, 28 May 2011 22:42:09 +0000 (18:42 -0400)]
Remove unnecessary casts
The new atomic implementations don't need these anymore to
avoid warnings.
Ryan Lortie [Sat, 28 May 2011 20:41:59 +0000 (16:41 -0400)]
optimise bitlocks with new atomic operations
Add a performance test for bitlocks.
Make use of the new g_atomic_int_{and,or} to avoid having to do the
usual compare-and-exchange loop.
On a test machine, the change increases performance from approximately
20 million uncontended acquire/releases per second to 31 million.
Ryan Lortie [Sat, 28 May 2011 21:27:12 +0000 (17:27 -0400)]
Fix futex(2) detection and use
Commit
22e7fc34c44c5ef95abf4fed429f2345410cc82c introduced a regression:
futexes were always disabled and the emulated codepath was always being
used. That commit was in response to an originally buggy
implementationt hat wrote junk into config.h (but happened to be working
properly).
Fix up the mess and while we're at it, close bug #631231 by including
syscall.h from the correct location and using __NR_futex instead of
SYS_futex.
Closes #631231.
Ryan Lortie [Sat, 28 May 2011 19:59:18 +0000 (15:59 -0400)]
glib: Rewrite gatomic.[ch]
- remove all inline assembly versions
- implement the atomic operations using either GCC intrinsics, the
Windows interlocked API or a mutex-based fallback
- drop gatomic-gcc.c since these are now defined in the header file.
Adjust Makefile.am accordingly.
- expand the set of operations: support 'get', 'set', 'compare and
exchange', 'add', 'or', and 'xor' for both integers and pointers
- deprecate g_atomic_int_exchange_and_add since g_atomic_int_add (as
with all the new arithmetic operations) now returns the prior value
- unify the use of macros: all functions are now wrapped in macros that
perform the proper casts and checks
- remove G_GNUC_MAY_ALIAS use; it was never required for the integer
operations (since casting between pointers that only vary in
signedness of the target is explicitly permitted) and we avoid the
need for the pointer operations by using simple 'void *' instead of
'gpointer *' (which caused the 'type-punned pointer' warning)
- provide function implementations of g_atomic_int_inc and
g_atomic_int_dec_and_test: these were strictly macros before
- improve the documentation to make it very clear exactly which types
of pointers these operations may be used with
- remove a few uses of the now-deprecated g_atomic_int_exchange_and_add
- drop initialisation of gatomic from gthread (by using a GStaticMutex
instead of a GMutex)
- update glib.symbols and documentation sections files
Closes #650823 and #650935
Matthias Clasen [Sat, 28 May 2011 18:29:08 +0000 (14:29 -0400)]
Quiet down the build a bit
Matthias Clasen [Sat, 28 May 2011 17:59:20 +0000 (13:59 -0400)]
Quell warnings from g_once_init_enter_impl
Matthias Clasen [Sat, 28 May 2011 17:57:47 +0000 (13:57 -0400)]
Trivial: fix a variable name
It is indices, not indeces.
Simon McVittie [Tue, 24 May 2011 10:04:42 +0000 (11:04 +0100)]
Add a regression test for GNOME#642026
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=642026
Bug-NB: NB#257512
Simon McVittie [Tue, 24 May 2011 15:23:38 +0000 (16:23 +0100)]
GStaticPrivate: protect GRealThread.private_data with a bit-lock
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=642026
Bug-NB: NB#257512
Simon McVittie [Tue, 24 May 2011 15:23:02 +0000 (16:23 +0100)]
Refactor GStaticPrivate accessors to facilitate protecting them with locks
* g_static_private_get: have a single entry and exit
* g_static_private_set: delay creation of GArray so the whole tail of
the function can be under the private_data lock without risking
deadlock with the g_thread lock; call the destructor last, after
we could have unlocked
* g_static_private_free: choose next thread in list before accessing
private_data, to keep all accesses together
* g_thread_cleanup: steal private_data first, then work exclusively with
the stolen array (which doesn't need to be under a lock any more)
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=642026
Bug-NB: NB#257512
Simon McVittie [Tue, 24 May 2011 15:02:33 +0000 (16:02 +0100)]
g_static_private_free: defer non-trivial destruction til after we unlock
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=642026
Bug-NB: NB#257512
Simon McVittie [Tue, 24 May 2011 14:59:33 +0000 (15:59 +0100)]
GRealThread: remove obsolete comment about gmain.c, which no longer has a copy
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=642026
Bug-NB: NB#257512
Daniel Mustieles [Sat, 28 May 2011 08:27:31 +0000 (10:27 +0200)]
Updated Spanish translation
Matthias Clasen [Sat, 28 May 2011 04:16:39 +0000 (00:16 -0400)]
Add macro version for all atomic operations
Better to be consistent about this.
Matthias Clasen [Sat, 28 May 2011 04:04:10 +0000 (00:04 -0400)]
Use G_STATIC_ASSERT_EXPR for size checks in atomic macros
Also add the same size checks to the macros wrapping
gcc builtins.
Ryan Lortie [Tue, 24 May 2011 06:07:55 +0000 (02:07 -0400)]
Add a test case for atomic ops
Make sure that the macros work properly with the range of types that
they are documented to work with and ensure that no strict aliasing
warnings are issued (even at the highest warning level).
https://bugzilla.gnome.org/show_bug.cgi?id=650935
Ryan Lortie [Sun, 22 May 2011 16:44:12 +0000 (12:44 -0400)]
Add G_STATIC_ASSERT_EXPR macro
https://bugzilla.gnome.org/show_bug.cgi?id=626549
Matthias Clasen [Sat, 28 May 2011 00:22:20 +0000 (20:22 -0400)]
GThread: expand the docs
Mention newer addition to the thread support in the introduction:
bit locks and one-time initialization.
Matthias Clasen [Fri, 27 May 2011 22:30:45 +0000 (18:30 -0400)]
glib-compile-schemas: write informational messages to stdout
The fact that we return 0 here makes it clear that this
is not considered an error, so it makes sense to not
write these messages to stderr.
Proposed by Antoine Jacoutot,
https://bugzilla.gnome.org/show_bug.cgi?id=650882
Colin Walters [Fri, 27 May 2011 20:10:21 +0000 (16:10 -0400)]
g_variant_new_dict_entry: Fix documentation and annotations
Move @key to not be at the start of a line, otherwise g-ir-scanner
gets confused.
Also two annotation fixes.
Matthias Clasen [Fri, 27 May 2011 20:08:57 +0000 (16:08 -0400)]
forgotten test
Giovanni Campagna [Fri, 27 May 2011 20:03:04 +0000 (16:03 -0400)]
g_variant_get_child_value: Add a precondition on length
Ensure callers get a warning if they pass a bad length.
Split into a separate commit and changed to order index before
n_children by Colin Walters <walters@verbum.org>
Giovanni Campagna [Sun, 3 Apr 2011 15:18:44 +0000 (17:18 +0200)]
GVariant: fix introspection annotations
Add transfer annotations for most functions, as well as some (array)
and (skip) for functions that use varargs.
https://bugzilla.gnome.org/show_bug.cgi?id=646635
Antoine Jacoutot [Fri, 27 May 2011 13:51:08 +0000 (15:51 +0200)]
Add glib credentials support to OpenBSD.
https://bugzilla.gnome.org/show_bug.cgi?id=650885
Antoine Jacoutot [Fri, 27 May 2011 15:39:38 +0000 (17:39 +0200)]
Don't hardcode path to true(1).
true(1) is not always installed under /bin so leave system() find
it in the PATH.
https://bugzilla.gnome.org/show_bug.cgi?id=651219
Matthias Clasen [Fri, 27 May 2011 01:52:50 +0000 (21:52 -0400)]
Preserve consistency when removing all nodes from a hash table
During the recent refactorings of GHashTable a bug was introduced
where removing all nodes from a hash table would leave tombstones
behind, but make the counts appear like there are none.
Reported and tracked down by Carlos Garnacho,
https://bugzilla.gnome.org/show_bug.cgi?id=651141
This commit also adds a test that checks the internal consistency
of GHashTable over several insert/remove/remove-all operations.
David Schleef [Tue, 24 May 2011 21:35:20 +0000 (14:35 -0700)]
main: Use public function in documentation
https://bugzilla.gnome.org/show_bug.cgi?id=651009
David Zeuthen [Thu, 26 May 2011 14:18:44 +0000 (10:18 -0400)]
GDBusProxy: Mention gdbus-codegen in docs
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Thu, 26 May 2011 14:07:38 +0000 (10:07 -0400)]
GDBusProxy: Fix incorrect locking
Pointed out by mclasen.
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Thu, 26 May 2011 13:54:47 +0000 (09:54 -0400)]
GDBusProxy: Add locking and notes/guarantees about MT safety
This was discussed in
https://bugzilla.gnome.org/show_bug.cgi?id=651133
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Thu, 26 May 2011 13:26:29 +0000 (09:26 -0400)]
GDBusProxy: Fix race condition when unsubscribing from signals
This was reported in bug 651133.
https://bugzilla.gnome.org/show_bug.cgi?id=651133
Signed-off-by: David Zeuthen <davidz@redhat.com>
Richard Hughes [Thu, 26 May 2011 11:37:24 +0000 (12:37 +0100)]
Correct the annotation for g_file_enumerator_get_container()
We don't ref the returned object, and alex has verified the gvfs implementation.
Marc-André Lureau [Wed, 11 May 2011 14:42:14 +0000 (16:42 +0200)]
gthread: build unix tests only on unix
The build fails when compiling with mingw32. Correct the build of a
unix tests on unix only.
https://bugzilla.gnome.org/show_bug.cgi?id=649973
David Zeuthen [Tue, 24 May 2011 11:34:30 +0000 (07:34 -0400)]
gdbus-codegen: Fix up example to not use non-existant method
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Tue, 24 May 2011 04:27:43 +0000 (00:27 -0400)]
gdbus-codegen: Properly render @param and %TRUE in generated Docbook
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Tue, 24 May 2011 03:22:04 +0000 (23:22 -0400)]
gdbus-codegen: Handle unexpected XML tags
This was reported in bug 650874. Add tests.
https://bugzilla.gnome.org/show_bug.cgi?id=650874
Signed-off-by: David Zeuthen <davidz@redhat.com>
Giovanni Campagna [Thu, 21 Apr 2011 21:45:59 +0000 (23:45 +0200)]
gdbusintrospection: fix introspection of DBus Introspection structures
Correctly mark fields as arrays (requires changing gobject-introspection
to pick those).
https://bugzilla.gnome.org/show_bug.cgi?id=646635
Ray Strode [Mon, 23 May 2011 17:39:09 +0000 (13:39 -0400)]
Revert "gsettings-tool: warn if setting a value fails"
This reverts commit
ea57feff96f13bbd4d03a76040a4ddfad2677310.
It makes the gsettings tool fail any time it tries to set a
key to a value, that the key already has.
https://bugzilla.gnome.org/show_bug.cgi?id=641768
Antoine Jacoutot [Mon, 23 May 2011 17:11:10 +0000 (19:11 +0200)]
Fix build with gcc-2.*.
https://bugzilla.gnome.org/show_bug.cgi?id=650884
Seán de Búrca [Mon, 23 May 2011 06:35:46 +0000 (00:35 -0600)]
Updated Irish translation.
Matthias Clasen [Mon, 23 May 2011 04:48:10 +0000 (00:48 -0400)]
Cosmetic changes
Use inc/dec for refcounting.
Matthias Clasen [Mon, 23 May 2011 04:40:33 +0000 (00:40 -0400)]
Cosmetics
Use g_atomic_int_inc/dec instead of add(...,1/-1), since
this is the way refcounting is done elsewhere. Some other
cosmetic changes.
Matthias Clasen [Mon, 23 May 2011 04:21:06 +0000 (00:21 -0400)]
Simply symbols files
The grouping in files/headers is not used anymore, and
the function attributes neither. Adapt abicheck scripts
and .def file generation rules accordingly.
Matthias Clasen [Sun, 22 May 2011 20:31:43 +0000 (16:31 -0400)]
Improve atomic ops implementation
When using gcc builtins for atomic operations, provide them
as macros, so gcc can see the builtins and do optimizations.
This change gives considerable speedups in bitlocks, which
use atomic operations heavily, see bug 650458.
Also, don't define G_ATOMIC_OP_MEMORY_BARRIER_NEEDED unconditionally
when using gcc builtins.
https://bugzilla.gnome.org/show_bug.cgi?id=617491
Matthias Clasen [Sun, 22 May 2011 05:29:22 +0000 (01:29 -0400)]
Add some atomic ops tests
Matthias Clasen [Sun, 22 May 2011 04:33:05 +0000 (00:33 -0400)]
Fix HAVE_FUTEX definition
Matthias Clasen [Sun, 22 May 2011 00:56:04 +0000 (20:56 -0400)]
Trivial: fix a typo
Matthias Clasen [Sat, 21 May 2011 15:14:05 +0000 (11:14 -0400)]
Revert "g_key_file_has_key_full: Clarify the docs"
This reverts commit
4ddb84999d47816624f9ae7dcba181cbccd5c4d9.
Matthias Clasen [Sat, 21 May 2011 15:12:08 +0000 (11:12 -0400)]
g_key_file_has_key_full: Clarify the docs
Matthias Clasen [Fri, 20 May 2011 19:07:08 +0000 (15:07 -0400)]
Enforce rules about modifying hash tables in callbacks
We have the infrastructure to do this, so lets do it.
Also add tests for find and foreach to the testsuite.
Bug 650688
Matthias Clasen [Fri, 20 May 2011 03:50:03 +0000 (23:50 -0400)]
Be more careful when calling destroy notifies
If we are, we can allow modification of the hash table
from destroy notifies.
https://bugzilla.gnome.org/show_bug.cgi?id=650459
Giovanni Campagna [Sun, 3 Apr 2011 13:51:04 +0000 (15:51 +0200)]
GObject: move GLib type definitions to a separate header
This way it is possible to pull them into the GLib GIR file.
Some cleanups by Colin Walters <walters@verbum.org>
https://bugzilla.gnome.org/show_bug.cgi?id=646635
Ryan Lortie [Wed, 18 May 2011 21:56:50 +0000 (17:56 -0400)]
Whitespace fixes
Ryan Lortie [Wed, 18 May 2011 21:53:07 +0000 (17:53 -0400)]
GApplication: fix remote action states
Fix up remote_action_info_new_from_iter() to do its job better and use
it from all places that it's appropriate.
Closes #650236.
Ryan Lortie [Wed, 18 May 2011 20:12:04 +0000 (16:12 -0400)]
Add debug output to GApplication actions example
Enough to clearly demonstrate bug #650236.
Jasper Lievisse Adriaanse [Wed, 18 May 2011 16:01:44 +0000 (12:01 -0400)]
gatomic: #include gthread.h to fix compilation on nonoptimized architectures
The fallback case of implementing atomic integers with mutexes needs
gthread.h.
Commit message written by Colin Walters <walters@verbum.org>
https://bugzilla.gnome.org/show_bug.cgi?id=631153
Colin Walters [Wed, 18 May 2011 15:57:21 +0000 (11:57 -0400)]
gtype: Remove unused variable
Colin Walters [Mon, 16 May 2011 19:30:31 +0000 (15:30 -0400)]
g_key_file_has_key_full: New function to fix g_key_file_has_key()'s GError semantics
See https://bugzilla.gnome.org/show_bug.cgi?id=649657 for discussion
of why it's bad for bindings for gerror return values to both signal
errors and carry meaning.
https://bugzilla.gnome.org/show_bug.cgi?id=650345
Gabor Kelemen [Wed, 18 May 2011 10:39:31 +0000 (12:39 +0200)]
Fix short day names in Hungarian translation
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...
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
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.
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
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