Matthias Clasen [Mon, 25 Jan 2010 01:50:51 +0000 (20:50 -0500)]
Typo fixes
Jamil Ahmed [Sun, 24 Jan 2010 16:54:12 +0000 (22:54 +0600)]
Updated Bengali translation
Ryan Lortie [Sat, 23 Jan 2010 06:07:46 +0000 (01:07 -0500)]
gio: .gitignore gio-querymodules
Ryan Lortie [Sat, 23 Jan 2010 01:18:58 +0000 (20:18 -0500)]
Bug 448888 - don't init g_slice for always-malloc
Alberto Garcia [Wed, 20 Jan 2010 17:53:08 +0000 (18:53 +0100)]
[tests] Remove C++ style comments
It makes the IBM XL C Compiler (the 'native' non-free compiler
on the AIX 5.3 and 6.1 platform) stop compiling with syntax error.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=581300
Signed-off-by: Javier Jardón <jjardon@gnome.org>
Dan Winship [Mon, 18 Jan 2010 14:46:19 +0000 (09:46 -0500)]
[configure] More -lresolv-checking-fixing
https://bugzilla.gnome.org/show_bug.cgi?id=586150
Benjamin Otte [Mon, 18 Jan 2010 13:03:16 +0000 (14:03 +0100)]
Ensure values are memset to 0 when calling G_VALUE_COLLECT_INIT()
The reason we need to enforce this is that the GTypeValueTable
documentation explicitly states that memory is memset to 0 when the
value_init function is called.
https://bugzilla.gnome.org/show_bug.cgi?id=603590
Dan Winship [Wed, 13 Jan 2010 16:24:28 +0000 (11:24 -0500)]
[configure] Fix res_query check for OS X
https://bugzilla.gnome.org/show_bug.cgi?id=586150
Javier Jardón [Tue, 17 Nov 2009 20:15:15 +0000 (21:15 +0100)]
Upgrade to version 0.8 of libasyncns
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=602240
Inaki Larranaga Murgoitio [Wed, 13 Jan 2010 16:29:39 +0000 (17:29 +0100)]
Updated Basque language
Kjartan Maraas [Wed, 13 Jan 2010 15:20:56 +0000 (16:20 +0100)]
Updated Norwegian bokmål translation
Sven Herzberg [Wed, 13 Jan 2010 13:47:58 +0000 (14:47 +0100)]
properly abort instead of looping infinitely
Fixes: Bug 568760 - nautilus freezes due to a bug in garray.c:322
* glib/garray.c: increase the size of potential return values by
using an unsigned result; properly check if we still handle valid size
proposals, return the original request if there's no usable size left
* tests/array-test.c: reproduce the error condition of the bug report
Alexander Larsson [Wed, 13 Jan 2010 09:25:52 +0000 (10:25 +0100)]
Fix docs in previous commit
Alexander Larsson [Wed, 13 Jan 2010 09:24:09 +0000 (10:24 +0100)]
Remove additional thread support in performance test
We're always enabling threads now so this is not needed.
Edward Hervey [Wed, 2 Dec 2009 10:50:02 +0000 (11:50 +0100)]
gobject: Use new G_VALUE_COLLECT_INIT variant
Makes g_object_new_valist 20% to 30% faster (against 2321e5a).
Profiled against the pan newsreader which uses a variant of simple
and complex object creation.
https://bugzilla.gnome.org/show_bug.cgi?id=603590
Edward Hervey [Wed, 2 Dec 2009 10:49:49 +0000 (11:49 +0100)]
gsignal: Use new G_VALUE_COLLECT_INIT variant
Makes g_signal_emit_valist from 15% to 20% faster.
Results reported from profiling the pan newsreader which uses a variant
of simple and complex signal emissions (i.e no args or various args)
https://bugzilla.gnome.org/show_bug.cgi?id=603590
Edward Hervey [Wed, 2 Dec 2009 10:48:18 +0000 (11:48 +0100)]
gvaluecollector: Add variant of G_VALUE_COLLECT for most used cases.
Most callers of G_VALUE_COLLECT previously had to initialize the GValue
and then G_VALUE_COLLECT would still go through a cleanup phase.
The new variant allows passing a unitialized GValue along with a GType
and speedup the initialization/collection process.
https://bugzilla.gnome.org/show_bug.cgi?id=603590
Alexander Larsson [Tue, 12 Jan 2010 20:55:15 +0000 (21:55 +0100)]
Mention thread changes in NEWS
Alexander Larsson [Tue, 12 Jan 2010 20:28:23 +0000 (21:28 +0100)]
Use unconditional thread calls in gio and gobject
If threads are available we always enable threads in gobject, which
means all gio/gobject code can enable the unconditional thread calls.
This is a minor optimization since we avoid a bunch of unnecessary
is-threads-enabled checks.
https://bugzilla.gnome.org/show_bug.cgi?id=606775
Alexander Larsson [Tue, 12 Jan 2010 20:26:52 +0000 (21:26 +0100)]
Make thread calls unconditional if G_THREADS_MANDATORY is set
Since gobject now initialized threads unconditionally if threads are
available it makes no sense to have each thread operation
conditionally check if threads are enables, so allow this to be avoided.
https://bugzilla.gnome.org/show_bug.cgi?id=606775
Alexander Larsson [Tue, 12 Jan 2010 20:22:45 +0000 (21:22 +0100)]
Enable threads in g_type_init()
This means threads will be supported for all gobject libraries/applications
and initialized early enough to not cause any problems.
This solves the problem of libraries needing threadsafety. Previosly
they just called g_threads_init() anyway, which often works but sometimes
breaks in unexpected ways.
See this thread for more details:
http://mail.gnome.org/archives/gtk-devel-list/2009-November/msg00208.html
https://bugzilla.gnome.org/show_bug.cgi?id=606775
Alexander Larsson [Tue, 12 Jan 2010 20:16:59 +0000 (21:16 +0100)]
Relax g_thread_init() requirements
We now allow g_thread_init(NULL) to be called after other glib calls (with
some minor limitations). This is mainly a documentation change as this
really was already possible.
We also allow g_thread_init() to be called multiple times. Only the
first call actually initializes the threading system, further calls
are ignored (but print a warning if the argument is not NULL).
https://bugzilla.gnome.org/show_bug.cgi?id=606775
Alexander Larsson [Tue, 12 Jan 2010 12:09:10 +0000 (13:09 +0100)]
Implement lazy loading of fam plugin
Alexander Larsson [Tue, 12 Jan 2010 12:11:22 +0000 (13:11 +0100)]
Add gio-querymodule program
This can be used to update the giomodule.cache file in directories with
giomodules in order to support lazy module loading.
Alexander Larsson [Tue, 12 Jan 2010 10:57:17 +0000 (11:57 +0100)]
Use the new lazy loading of modules for gio modules
Alexander Larsson [Tue, 12 Jan 2010 10:36:12 +0000 (11:36 +0100)]
Add support for lazy loading of giomodules
Adds an optional query method to giomodules which should return all
possible extension points the module may implement.
Then we add a new call g_io_modules_scan_all_in_directory() similar to
g_io_modules_load_all_in_directory() that doesn't return all loaded
modules, thus allowing lazy loading.
In g_io_modules_scan_all_in_directory we look for an optional
giomodule.cache file and use the information in that to avoid
loading modules until they are needed for an extension point.
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