Ignacio Casal Quinteiro [Tue, 12 Jan 2010 11:54:49 +0000 (12:54 +0100)]
Flush gcharsetconverter when needed.
This patch fixes bug #605686.
Kamal Mostafa [Sat, 2 Jan 2010 04:36:28 +0000 (20:36 -0800)]
g_object_new(): skip varargs for simple calls
g_object_new() avoids useless varargs processing for simple calls with no
properties. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=605883
Daniel Nylander [Sat, 9 Jan 2010 15:43:35 +0000 (16:43 +0100)]
Updated Swedish translation
Jorge González [Thu, 7 Jan 2010 19:26:48 +0000 (20:26 +0100)]
Updated Spanish translation
Hiroyuki Ikezoe [Thu, 7 Jan 2010 10:33:39 +0000 (19:33 +0900)]
Use GCC atomic builtin operations.
Fix for bug #531902.
Stefan Kost [Thu, 7 Jan 2010 08:47:20 +0000 (10:47 +0200)]
docs: switch to xi:inbclude for the content to save some more seconds
Stefan Kost [Thu, 7 Jan 2010 09:31:24 +0000 (11:31 +0200)]
docs: switch to xi:inbclude for the content to save some more seconds
Stefan Kost [Thu, 7 Jan 2010 08:22:14 +0000 (10:22 +0200)]
docs: use xi:include to use the generated indexes if available.
This works transparantly for people with new enough gtk-doc (>=1.11) and
significantly improves the build time.
Haakon Sporsheim [Thu, 7 Jan 2010 08:12:13 +0000 (10:12 +0200)]
Don't do pointer arithmetics on void*
For instance MSVC doesn't like that.
Signed-off-by: Tor Lillqvist <tml@iki.fi>
Matthias Clasen [Wed, 6 Jan 2010 22:37:11 +0000 (17:37 -0500)]
Add properties to GMemoryOutputStream
This helps bindings. Patch by Krzysztof Kosiński. See bug 605733.
Matthias Clasen [Wed, 6 Jan 2010 18:23:48 +0000 (13:23 -0500)]
Fix the filename roundtrip check
The check was always failing because the code was comparing
the wrong strings. Reported in bug 605977.
Ryan Lortie [Tue, 5 Jan 2010 23:49:23 +0000 (18:49 -0500)]
GUnixFDMessage: fix a small typo in an extra check
In the deserialise function, GUnixFDMessage was comparing 'level' to
both SOL_SOCKET and SCM_RIGHTS. It is correct to compare 'type' to
SCM_RIGHTS. The code passed tests only because:
1) it's a "should always be OK" double-check
2) SOL_SOCKET and SCM_RIGHTS, by chance, both have the value '1' on
Linux systems.
Matthias Clasen [Tue, 5 Jan 2010 23:18:55 +0000 (18:18 -0500)]
Fix a memleak
An early exit in expand_application_parameters forgot to free
a GString. Reported by Steve Grubb.
Matthias Clasen [Tue, 5 Jan 2010 23:16:37 +0000 (18:16 -0500)]
Fix an off-by-one error
Reported by Steve Grubb.
Maxim V. Dziumanenko [Tue, 5 Jan 2010 14:53:01 +0000 (16:53 +0200)]
Update Ukrainian translation
Haakon Sporsheim [Tue, 5 Jan 2010 09:28:43 +0000 (11:28 +0200)]
Avoid compilation warning from MSVC
Signed-off-by: Tor Lillqvist <tml@iki.fi>
Piotr Eljasiak [Mon, 4 Jan 2010 23:48:02 +0000 (00:48 +0100)]
Fix a typo in the docs
Xandru Armesto Fernandez [Mon, 4 Jan 2010 21:10:47 +0000 (22:10 +0100)]
Added asturian language
Xandru Armesto Fernandez [Mon, 4 Jan 2010 21:10:29 +0000 (22:10 +0100)]
Updated asturian translations
Javier Jardón [Sun, 3 Jan 2010 22:34:26 +0000 (23:34 +0100)]
[docs] Fix @title usage in "Enumeration and flags types" section
Matthias Clasen [Sun, 3 Jan 2010 00:50:55 +0000 (19:50 -0500)]
Document that various functions ref GSimpleAsyncResult
Patch by Will Thompson, see bug 602417.
Matthias Clasen [Sun, 3 Jan 2010 00:44:26 +0000 (19:44 -0500)]
Document that _finish() must be called at most once.
The patch was provided by Will Thompson in bug 602417.
Matthias Clasen [Sun, 3 Jan 2010 00:35:08 +0000 (19:35 -0500)]
Fix a typo
...and some whitespace fixes. Pointed out by Will Thompson in
bug 602417.
Pablo Castellano [Sun, 3 Jan 2010 00:23:53 +0000 (01:23 +0100)]
Updated .gitignore files
Matthias Clasen [Sun, 3 Jan 2010 00:17:37 +0000 (19:17 -0500)]
Don't return anything from a void function
Sun C doesn't like it. Reported in bug 604824.
Ivar Smolin [Sat, 2 Jan 2010 20:42:01 +0000 (22:42 +0200)]
Updating Estonian translation
Paolo Borelli [Thu, 31 Dec 2009 11:42:41 +0000 (12:42 +0100)]
Bug 604457 - gutf8inputstream.c: increasing unknown size pointer
Javier Jardón [Mon, 28 Dec 2009 01:04:01 +0000 (02:04 +0100)]
[docs] Fix 'Deprecated' tag on some win32 functions
Fix g_win32_get_package_installation_directory() and
g_win32_get_package_installation_subdirectory_utf8()
Javier Jardón [Thu, 24 Dec 2009 04:05:21 +0000 (05:05 +0100)]
[docs] Fix 'Deprecated' tag in g_date_set_time()
Martin Pitt [Tue, 22 Dec 2009 10:09:20 +0000 (11:09 +0100)]
Support storing assertion messages into core dump
Crash interception/debugging systems like Apport or ABRT capture core dumps for
later crash analysis. However, if a program exits with an assertion failure,
the core dump is not useful since the assertion message is only printed to
stderr.
glibc recently got a patch which stores the message of assert() into the
__abort_msg global variable.
(http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=
48dcd0ba)
That works fine for programs which actually use the standard C assert() macro.
This patch adds the same functionality for glib's assertion tests. If we are
building against a glibc which already has __abort_msg (2.11 and later, or
backported above git commit), use that, otherwise put it into our own field
__glib_assert_msg.
Usage:
$ cat test.c
#include <glib.h>
int main() {
g_assert(1 < 0);
return 0;
}
$ ./test
**ERROR:test.c:5:main: assertion failed: (1 < 0)
Aborted (Core dumped)
$ gdb --batch --ex 'print (char*) __abort_msg' ./test core
[...]
$1 = 0x93bf028 "ERROR:test.c:5:main: assertion failed: (1 < 0)"
https://bugzilla.gnome.org/show_bug.cgi?id=594872
Theppitak Karoonboonyanan [Tue, 22 Dec 2009 16:39:21 +0000 (23:39 +0700)]
Updated Thai translation.
Tor Lillqvist [Mon, 21 Dec 2009 22:46:12 +0000 (00:46 +0200)]
Install gio-unix-2.0.pc only on Unix
The gio-unix-2.0 headers are installed only on Unix anyway.
Javier Jardón [Mon, 21 Dec 2009 22:04:43 +0000 (23:04 +0100)]
[docs] Fix G_DEFINE_INTERFACE "Since" tag
This symbol is available since Glib 2.24, not 2.20.
Behdad Esfahbod [Sat, 6 Jun 2009 03:28:17 +0000 (23:28 -0400)]
[gobject] Grow gvalue transform array exponentially
Bug 589176 - Grow gvalue transform array exponentially
Reduces about 180 realloc calls during g_type_init().
Matthias Clasen [Mon, 21 Dec 2009 15:56:03 +0000 (10:56 -0500)]
Bump version
Matthias Clasen [Mon, 21 Dec 2009 15:54:11 +0000 (10:54 -0500)]
2.23.1
Matthias Clasen [Mon, 21 Dec 2009 15:02:07 +0000 (10:02 -0500)]
Update release notes
Matthias Clasen [Mon, 21 Dec 2009 14:59:24 +0000 (09:59 -0500)]
Updates
Iestyn Pryce [Mon, 21 Dec 2009 14:57:15 +0000 (14:57 +0000)]
Updated Welsh translation
Matthias Clasen [Mon, 21 Dec 2009 14:21:54 +0000 (09:21 -0500)]
Remove comment as well
Matthias Clasen [Mon, 21 Dec 2009 14:11:23 +0000 (09:11 -0500)]
Revert the g_set_prgname change
This change breaks our API and causes warnings from essentially all applications.
See bug 563627.
Iestyn Pryce [Sun, 20 Dec 2009 12:03:19 +0000 (12:03 +0000)]
Updated Welsh translation
Behdad Esfahbod [Sat, 19 Dec 2009 10:46:19 +0000 (11:46 +0100)]
Bug 501166 - Warning message says IA__g_type_init instead of g_type_init
Javier Jardón [Tue, 15 Dec 2009 20:15:41 +0000 (21:15 +0100)]
G_DEFINE_INTERFACE_* documentation is not generated
Fix the documentation: Replace "@Since:" with "Since:"
https://bugzilla.gnome.org/show_bug.cgi?id=604645
Kamal Mostafa [Fri, 18 Dec 2009 18:34:05 +0000 (10:34 -0800)]
Fix typo "Performace" in gtester-report Details pop-up window
Dan Winship [Fri, 18 Dec 2009 11:27:36 +0000 (12:27 +0100)]
update .gitignores
Dan Winship [Fri, 18 Dec 2009 09:26:09 +0000 (10:26 +0100)]
Fix UnixWare build by not using "sa_len" as a variable name
https://bugzilla.gnome.org/show_bug.cgi?id=604875
Nguyễn Thái Ngọc Duy [Fri, 18 Dec 2009 08:00:54 +0000 (15:00 +0700)]
vi.po: updated Vietnamese translation
Gian Mario Tagliaretti [Tue, 15 Dec 2009 22:49:18 +0000 (23:49 +0100)]
Remove wrong file imports, only gio/gio.h should be included
Tor Lillqvist [Mon, 14 Dec 2009 01:16:55 +0000 (03:16 +0200)]
Don't check for headers we include unconditionally
Don't bother checking for winsock2.h and mswsock.h in the configure
script as we include these unconditionally when building for Windows
anyway.
Tor Lillqvist [Mon, 14 Dec 2009 01:09:46 +0000 (03:09 +0200)]
Check for <wspiapi.h> and use it if present
Should help bug #603527 if glib is built in an environment that has
<wspiapi.h>.
Paolo Borelli [Tue, 8 Dec 2009 16:05:09 +0000 (17:05 +0100)]
Add unit tests for some more methods
Alexander Larsson [Mon, 7 Dec 2009 21:00:51 +0000 (22:00 +0100)]
Remove default implementation of async filter steam ops
Not only is the default implementation broken (it causes infinite recursion
as seen in bug #603982), but its also worthless. If we just fall back on the
default stream operations we automatically get async version based on
the sync filter stream operations, which is what we want.
Paolo Borelli [Sun, 6 Dec 2009 14:45:37 +0000 (15:45 +0100)]
Fix makefile typo
Paolo Borelli [Sat, 28 Nov 2009 22:39:48 +0000 (23:39 +0100)]
Add GUtf8InputStream - Bug #603270
Add a filter input stream that performs utf8 validation.
Yair Hershkovitz [Sun, 6 Dec 2009 06:41:49 +0000 (08:41 +0200)]
Updated Hebrew translation
Kjartan Maraas [Fri, 4 Dec 2009 20:18:32 +0000 (21:18 +0100)]
Updated Norwegian bokmål translation.
Matthew W. S. Bell [Wed, 2 Dec 2009 00:48:30 +0000 (01:48 +0100)]
Initialise variable in g_time_val_from_iso8601()
The function does not initialise the struct tm,
giving it improper values of tm_isdst making the result
an hour out.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=603540
Jeroen Nijhof [Tue, 1 Dec 2009 18:42:09 +0000 (19:42 +0100)]
[gio] Remove some commas at end of enumerator list
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=603476
Dan Winship [Tue, 1 Dec 2009 09:42:58 +0000 (10:42 +0100)]
Use G_DEFINE_INTERFACE in gio
Note: Since we export types with Iface in the name rather than
Interface we have to use some typedefs to make this work. New
interfaces should probably use Interface as the public name.
Dan Winship [Tue, 1 Dec 2009 09:33:12 +0000 (10:33 +0100)]
Add G_DEFINE_INTERFACE
This is a macro similar to G_DEFINE_TYPE but it lets you define
interfaces rather than classes.
For discussion, see bug #320482
Ryan Lortie [Tue, 1 Dec 2009 00:50:21 +0000 (19:50 -0500)]
Add byteswap macros for gsize/gssize.
Benjamin Otte [Thu, 8 Oct 2009 18:01:15 +0000 (20:01 +0200)]
Only add object to list new objects when it has a custom constructor
This works around the need to take a custom mutex twice and add the
object to a GSList of objects that are currently in construction for the
common case. Only when the constructor is overwritten do we use the
previous behavior and allow things like singleton objects.
The only slightly incompatible change is that previously, it was ok to
call g_object_set() on construct-only properties while the object was
initialized. This will now fail. If that behavior is needed, setting a
custom constructor that just chains up will reenable this functionality.
https://bugzilla.gnome.org/show_bug.cgi?id=557151
Benjamin Otte [Thu, 24 Sep 2009 13:04:20 +0000 (15:04 +0200)]
Remove more read locks usage
g_type_default_interface_peek() and g_type_value_table_peek() don't need
to acquire read locks anymore when they test the refcount instead of
node->data.
Benjamin Otte [Thu, 24 Sep 2009 12:57:19 +0000 (14:57 +0200)]
Make g_type_class_peek[_static]() not take any locks
By replacing a check for node->data with a check for NODE_REFCOUNT(node)
these functions don't require a read lock anymore.
Edward Hervey [Thu, 24 Sep 2009 11:19:46 +0000 (13:19 +0200)]
gobject/tests: New test for dynamic class creation/destruction
Starts 100 threads which ref/unref a dynamic class to test the recent
changes to class init/uninit.
Edward Hervey [Thu, 24 Sep 2009 10:42:49 +0000 (12:42 +0200)]
Add type_data_ref_U() and use it in g_type_class_ref()
The function returns TRUE if the type was previously initialized and can
be easily reused. It returns FALSE and does not take a reference if the
type is not referenced yet.
g_type_class_ref() uses this to avoid taking locks in the common path,
which speeds up object creation a lot - in particular in multithreaded
applications.
https://bugzilla.gnome.org/show_bug.cgi?id=585375
Edward Hervey [Thu, 24 Sep 2009 10:29:25 +0000 (12:29 +0200)]
Reorganize g_type_class_ref()
Moves the first check out of the lock, as it's not required.
https://bugzilla.gnome.org/show_bug.cgi?id=585375
Benjamin Otte [Thu, 24 Sep 2009 10:26:53 +0000 (12:26 +0200)]
Make ClassData->init_state atomic
This is necessary to make g_type_class_ref() lockless.
https://bugzilla.gnome.org/show_bug.cgi?id=585375
Also includes fix for:
https://bugzilla.gnome.org/show_bug.cgi?id=587892
Edward Hervey [Thu, 24 Sep 2009 09:45:13 +0000 (11:45 +0200)]
Make type_data_unref_U not take locks in the common case
https://bugzilla.gnome.org/show_bug.cgi?id=585375
Edward Hervey [Thu, 24 Sep 2009 09:38:49 +0000 (11:38 +0200)]
Make all accesses of Node->ref_count atomic
This does not change any locking behavior at all, it just replaces
simple getters/setters of the variable with atomic versions.
The ref_count variable was kept as unsigned, even though that requires
casting for all operations, to mirror GObject->refcount.
https://bugzilla.gnome.org/show_bug.cgi?id=585375
Edward Hervey [Thu, 24 Sep 2009 09:19:58 +0000 (11:19 +0200)]
type_data_unref_Wm => type_data_unref_U
Make the type unref function not hold any locks when called. This
makes it easier to optimize it to be atomic later.
https://bugzilla.gnome.org/show_bug.cgi?id=585375
Benjamin Otte [Thu, 24 Sep 2009 09:16:10 +0000 (11:16 +0200)]
Add a NODE_REFCOUNT getter
This is useful when moving the code to be atomic.
It also will make that patch smaller.
https://bugzilla.gnome.org/show_bug.cgi?id=585375
Edward Hervey [Thu, 24 Sep 2009 08:44:17 +0000 (10:44 +0200)]
Move setting the refcount to the end of the function
This is a safety feature for when making it atomic later.
https://bugzilla.gnome.org/show_bug.cgi?id=585375
Edward Hervey [Thu, 24 Sep 2009 08:16:48 +0000 (10:16 +0200)]
Pass the TypeNode to type_data_last_unref_Wm()
Previously the GType was looked up just for calling the function
Also moves the unref functions together in the code.
https://bugzilla.gnome.org/show_bug.cgi?id=585375
Edward Hervey [Thu, 24 Sep 2009 08:03:14 +0000 (10:03 +0200)]
Move ref_count from TypeNode->data to TypeNode
https://bugzilla.gnome.org/show_bug.cgi?id=585375
Alexander Larsson [Wed, 9 Sep 2009 14:42:32 +0000 (16:42 +0200)]
Implement O(1) interface lookups
Currently interface lookups are do a binary search over all the interfaces
an object implements. Its possible to do this lookup in constant time using for
instance the gcj algorighm described at:
http://gcc.gnu.org/ml/java/1999-q3/msg00377.html
This is an implementation of that based on GAtomicArray.
Alexander Larsson [Wed, 9 Sep 2009 14:51:28 +0000 (16:51 +0200)]
Implement lock free interface lookup
We implement lock free interface lookup by moving the n_ifaces
counter into memory pointed to by TypeNode->iface_entries, and
then updating this in RCU-style by always copying it, modifying
the copy and then when the modification is done replace the old
pointer with g_atomic_pointer_set.
There is one additional complexity when freeing the old memory,
since the old memory region can be in use. To handle this we
don't free such memory, but put it on a free list and reuse it
later. This means that lock-free lookups must be able to
handle the memory being modified in random ways without crashing,
and at the end we verify that the memory didn't change and the
transaction is ok.
With this infrastructure the patch then implements a lock-free
version of type_lookup_iface_entry_L called type_lookup_iface_vtable_I
and use it in: g_type_interface_peek, g_type_interface_peek_parent
and type_node_check_conformities_UorL.
Using the performance tests from bug 557100 shows that the general
performance difference is negligible, but the lack of a lock for each
type check and interface vfunc call should greatly enhance threaded
scalability.
Alexander Larsson [Wed, 9 Sep 2009 14:47:44 +0000 (16:47 +0200)]
Add GAtomicArray for RCU-style lockless updates
This adds supports for a lock-less a non-shrinking growable array.
You can use it to do reads using no locks, as long as your read-code
can handle that during the read transaction the object can be modified
by another writer (but it will not change size or be freed), and you
can only trust the result once the transaction has finished successfully.
This doesn't free things like RCU normally does, instead it pushes the
memory on a free list that is reused for other atomic arrays.
Ivar Smolin [Mon, 30 Nov 2009 11:08:18 +0000 (13:08 +0200)]
Updating Estonian translation
Matthias Clasen [Mon, 30 Nov 2009 05:11:10 +0000 (00:11 -0500)]
Bump version
Matthias Clasen [Mon, 30 Nov 2009 05:09:36 +0000 (00:09 -0500)]
2.23.0
Matthias Clasen [Mon, 30 Nov 2009 03:57:00 +0000 (22:57 -0500)]
More updates
Matthias Clasen [Mon, 30 Nov 2009 03:54:16 +0000 (22:54 -0500)]
Fix up GIO docs
Matthias Clasen [Mon, 30 Nov 2009 02:19:10 +0000 (21:19 -0500)]
Fix dynamictype test to build
Matthias Clasen [Mon, 30 Nov 2009 01:55:25 +0000 (20:55 -0500)]
Fix 'make check' in gio
Matthias Clasen [Mon, 30 Nov 2009 01:48:52 +0000 (20:48 -0500)]
Remove filter-cat from TEST_PROGS
Since it is not intended to be run as part of make check.
Matthias Clasen [Mon, 30 Nov 2009 01:47:51 +0000 (20:47 -0500)]
Disable a broken test
One of the option context tests relied on the ability to
call g_set_pgrname() more than once. Thats no longer possible
(without incurring a warning that wrecks the test).
David Planella [Sun, 29 Nov 2009 18:27:45 +0000 (19:27 +0100)]
Updated Catalan translations, with some corrections from Carles Ferrando
Paolo Borelli [Sun, 29 Nov 2009 14:14:10 +0000 (15:14 +0100)]
Fix return type of g_converter_[in|out]put_stream.
Fixes bug #603265
Jorge González [Sat, 28 Nov 2009 12:26:38 +0000 (13:26 +0100)]
Updated Spanish translation
Matthias Clasen [Sat, 28 Nov 2009 06:59:12 +0000 (01:59 -0500)]
Updates
Matthias Clasen [Sat, 28 Nov 2009 06:30:27 +0000 (01:30 -0500)]
Bump version to 2.23.0
Matej Urbančič [Fri, 27 Nov 2009 12:33:16 +0000 (13:33 +0100)]
Updated Slovenian translation
Jorge González [Fri, 27 Nov 2009 00:37:49 +0000 (01:37 +0100)]
Updated Spanish translation
Ryan Lortie [Thu, 26 Nov 2009 17:15:04 +0000 (12:15 -0500)]
Bug 589631 - enclose literals with double quotes
Improve strings for purpose of translation.
Based on a patch from Leonardo Ferreira Fontenelle.
Christian Kellner [Fri, 9 Oct 2009 13:06:44 +0000 (15:06 +0200)]
Add "default location" support to GMount
The "default location" of the given mount is a path that reflects
the main entry point for the user (e.g. the home directory, or the
root of the volume).
https://bugzilla.gnome.org/show_bug.cgi?id=561998
Alexander Larsson [Thu, 26 Nov 2009 15:05:07 +0000 (16:05 +0100)]
Pass in the right device to vfs->local_file_add_info for symlinks
We used to pass the path for the symlink, but the device of the target
which is wrong and breaks metadata access.
https://bugzilla.gnome.org/show_bug.cgi?id=593809
Mures Andone [Tue, 10 Nov 2009 12:59:31 +0000 (14:59 +0200)]
Fixed bug 91 (GIO monitoring not working due to bad assert)
https://bugzilla.gnome.org/show_bug.cgi?id=593856
Will Thompson [Fri, 20 Nov 2009 13:01:17 +0000 (13:01 +0000)]
Apply English pedantry to GAsyncInitable's docs
• "asynchronous" was misspelled as "asyncronous" in various places;
• punctuation was missing;
• g_async_initable_new_async() had a stray "and";
• references to g_async_initable_new_finish() were missing a "the".
https://bugzilla.gnome.org/show_bug.cgi?id=602417