commit ad1580e516fd481eaa1c6bb9134c1c11a517e824 Author: Matthias Clasen Date: Mon Dec 21 10:02:07 2009 -0500 Update release notes README.in | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) commit 7af2609a44f26b8a6e65601fc2fa6f7453ff73c5 Author: Matthias Clasen Date: Mon Dec 21 09:59:24 2009 -0500 Updates NEWS | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) commit 52405a6b5dcaa1e8e6268192760ee6e11939a3b5 Author: Iestyn Pryce Date: Mon Dec 21 14:57:15 2009 +0000 Updated Welsh translation po/cy.po | 99 +++++++++++++++++++++++++++++-------------------------------- 1 files changed, 47 insertions(+), 52 deletions(-) commit 71d508776efc69e2ee97b424bbeb25d3ced38ac8 Author: Matthias Clasen Date: Mon Dec 21 09:21:54 2009 -0500 Remove comment as well glib/tests/option-context.c | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-) commit 7db8b92b979b2f95268d42eecf9dc7a361e6f5d1 Author: Matthias Clasen Date: Mon Dec 21 09:11:23 2009 -0500 Revert the g_set_prgname change This change breaks our API and causes warnings from essentially all applications. See bug 563627. glib/gutils.c | 11 ++--------- glib/tests/option-context.c | 2 -- 2 files changed, 2 insertions(+), 11 deletions(-) commit 473fd041324931cc1267e354408475058611d740 Author: Iestyn Pryce Date: Sun Dec 20 12:03:19 2009 +0000 Updated Welsh translation po/cy.po | 1114 +++++++++++++++++++++++++++++++------------------------------- 1 files changed, 561 insertions(+), 553 deletions(-) commit ccd33a4043008f2927df6988bfe623341afb91f9 Author: Behdad Esfahbod Date: Sat Dec 19 11:46:19 2009 +0100 Bug 501166 - Warning message says IA__g_type_init instead of g_type_init gobject/gtype.c | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-) commit 991702494946bdfcea958c6bd421b51867ea7545 Author: Javier Jardón Date: Tue Dec 15 21:15:41 2009 +0100 G_DEFINE_INTERFACE_* documentation is not generated Fix the documentation: Replace "@Since:" with "Since:" https://bugzilla.gnome.org/show_bug.cgi?id=604645 gobject/gtype.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 046e521b4f08a88c889620225faea7284356eb23 Author: Kamal Mostafa Date: Fri Dec 18 10:34:05 2009 -0800 Fix typo "Performace" in gtester-report Details pop-up window glib/gtester-report | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit f74c0e257fef1b6304294d34130e74b591b14acf Author: Dan Winship Date: Fri Dec 18 12:27:36 2009 +0100 update .gitignores gio/tests/.gitignore | 26 +++++++++++++++----------- gobject/tests/.gitignore | 1 + 2 files changed, 16 insertions(+), 11 deletions(-) commit 28d91b5bb6f0543c259976d8338a7b4d95054dd3 Author: Dan Winship Date: Fri Dec 18 10:26:09 2009 +0100 Fix UnixWare build by not using "sa_len" as a variable name https://bugzilla.gnome.org/show_bug.cgi?id=604875 gio/gnetworkingprivate.h | 2 +- gio/gresolver.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit 50741f2fb2db13ef236974e676d1b6472c3aef5c Author: Nguyễn Thái Ngọc Duy Date: Fri Dec 18 15:00:54 2009 +0700 vi.po: updated Vietnamese translation po/vi.po | 412 ++++++++++++++++++++++++++++++-------------------------------- 1 files changed, 197 insertions(+), 215 deletions(-) commit 3f41e31bf974f6abaeb28264654d6b46b87b7428 Author: Gian Mario Tagliaretti Date: Tue Dec 15 23:49:18 2009 +0100 Remove wrong file imports, only gio/gio.h should be included gio/gunixconnection.h | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) commit a0bcd63304c683d54e1d55203922a58de672b8f6 Author: Tor Lillqvist Date: Mon Dec 14 03:16:55 2009 +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. config.h.win32.in | 3 --- configure.in | 2 +- 2 files changed, 1 insertions(+), 4 deletions(-) commit 8dc200db043fb7251baed6e346a7c5542a24a7b9 Author: Tor Lillqvist Date: Mon Dec 14 03:09:46 2009 +0200 Check for and use it if present Should help bug #603527 if glib is built in an environment that has . config.h.win32.in | 7 +++++++ configure.in | 2 +- gio/gwin32resolver.c | 8 ++++++++ 3 files changed, 16 insertions(+), 1 deletions(-) commit cdf00a6a9b98574dd4a06779de43612b9c8fa42a Author: Paolo Borelli Date: Tue Dec 8 17:05:09 2009 +0100 Add unit tests for some more methods gio/tests/buffered-input-stream.c | 83 ++++++++++++++++++++++++++++++++++++- 1 files changed, 82 insertions(+), 1 deletions(-) commit 4fbbe190b7cbfd271bbb18428bc103ebffa41112 Author: Alexander Larsson Date: Mon Dec 7 22:00:51 2009 +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. gio/gfilterinputstream.c | 185 +-------------------------------------------- gio/gfilteroutputstream.c | 173 ------------------------------------------ 2 files changed, 2 insertions(+), 356 deletions(-) commit 8a6d5e203eb22dad7e197f33b8c7d96f72be4bea Author: Paolo Borelli Date: Sun Dec 6 15:45:37 2009 +0100 Fix makefile typo gio/Makefile.am | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 568cd48365a8c8ffa6fc25d5282ec92de6e2ff31 Author: Paolo Borelli Date: Sat Nov 28 23:39:48 2009 +0100 Add GUtf8InputStream - Bug #603270 Add a filter input stream that performs utf8 validation. docs/reference/gio/gio-docs.xml | 1 + docs/reference/gio/gio-sections.txt | 18 ++ docs/reference/gio/gio.types | 1 + gio/Makefile.am | 2 + gio/gio.h | 1 + gio/gio.symbols | 7 + gio/giotypes.h | 1 + gio/gutf8inputstream.c | 327 +++++++++++++++++++++++++++++++++++ gio/gutf8inputstream.h | 80 +++++++++ gio/tests/Makefile.am | 4 + gio/tests/utf8-input-stream.c | 252 +++++++++++++++++++++++++++ 11 files changed, 694 insertions(+), 0 deletions(-) commit c20280b41bc084793e2baa094dc03dc9d1d75f8b Author: Yair Hershkovitz Date: Sun Dec 6 08:41:49 2009 +0200 Updated Hebrew translation po/he.po | 961 +++++++++++++++++++++++++++++++------------------------------- 1 files changed, 481 insertions(+), 480 deletions(-) commit efb594b7d49e5058de621f1253671ec192eae695 Author: Kjartan Maraas Date: Fri Dec 4 21:18:32 2009 +0100 Updated Norwegian bokmål translation. po/nb.po | 951 +++++++++++++++++++++++++++++++------------------------------- 1 files changed, 476 insertions(+), 475 deletions(-) commit 2321e5aed07154761223bb124770beba56700e41 Author: Matthew W. S. Bell Date: Wed Dec 2 01:48:30 2009 +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 glib/gtimer.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) commit 3d8035f799f632f196d914fde02dc052b7944581 Author: Jeroen Nijhof Date: Tue Dec 1 19:42:09 2009 +0100 [gio] Remove some commas at end of enumerator list Fixes https://bugzilla.gnome.org/show_bug.cgi?id=603476 gio/gioenums.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 39cd766e8ef6901c097fdf2d3148fdc952f06b0e Author: Dan Winship Date: Tue Dec 1 10:42:58 2009 +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. gio/gappinfo.c | 45 +------------ gio/gasyncresult.c | 44 +------------ gio/gdesktopappinfo.c | 44 +------------ gio/gdrive.c | 175 ++++++++++++++++++------------------------------- gio/gfile.c | 46 +------------ gio/gicon.c | 44 +------------ gio/gloadableicon.c | 45 +------------ gio/gmount.c | 143 ++++++++++++++-------------------------- gio/gseekable.c | 38 +---------- gio/gvolume.c | 103 ++++++++--------------------- 10 files changed, 164 insertions(+), 563 deletions(-) commit 91d96350a7eed2e2acfc0c254b6dfc4e6fe81a8b Author: Dan Winship Date: Tue Dec 1 10:33:12 2009 +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 docs/reference/gobject/gobject-sections.txt | 2 + gobject/gtype.h | 70 ++++++++++++++++++++++++++- gobject/tests/threadtests.c | 30 ----------- 3 files changed, 70 insertions(+), 32 deletions(-) commit 74a970f754bbffcc9f0a3fa6dd9977a8640544c8 Author: Ryan Lortie Date: Mon Nov 30 19:50:21 2009 -0500 Add byteswap macros for gsize/gssize. configure.in | 5 ++ docs/reference/glib/glib-sections.txt | 12 +++++ docs/reference/glib/tmpl/byte_order.sgml | 72 ++++++++++++++++++++++++++++++ glib/gtypes.h | 5 ++ glibconfig.h.win32.in | 4 ++ 5 files changed, 98 insertions(+), 0 deletions(-) commit 2a78adc5e3f5b33e92cc55570397da24e062aa24 Author: Benjamin Otte Date: Thu Oct 8 20:01:15 2009 +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 gobject/gobject.c | 26 ++++++++++++++++++-------- 1 files changed, 18 insertions(+), 8 deletions(-) commit f0f32a7ef0f7ae8cdd2aa2992d2e116dd7b602fe Author: Benjamin Otte Date: Thu Sep 24 15:04:20 2009 +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. gobject/gtype.c | 15 ++++----------- 1 files changed, 4 insertions(+), 11 deletions(-) commit 5cac5c828b9d56ed0b1932deb7364d6ba926eb96 Author: Benjamin Otte Date: Thu Sep 24 14:57:19 2009 +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. gobject/gtype.c | 8 ++------ 1 files changed, 2 insertions(+), 6 deletions(-) commit 83ee0d947d7c103e975be0fc4e62415ad7d57571 Author: Edward Hervey Date: Thu Sep 24 13:19:46 2009 +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. gobject/tests/Makefile.am | 4 +- gobject/tests/dynamictests.c | 235 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 238 insertions(+), 1 deletions(-) commit 35c376a8a6be94f6fd5c22164a5e0968f4d3e26e Author: Edward Hervey Date: Thu Sep 24 12:42:49 2009 +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 gobject/gtype.c | 62 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 42 insertions(+), 20 deletions(-) commit 5160175656797fde6b301b0d832b692052b96e3e Author: Edward Hervey Date: Thu Sep 24 12:29:25 2009 +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 gobject/gtype.c | 19 ++++++++----------- 1 files changed, 8 insertions(+), 11 deletions(-) commit 00a4470ad07551f3629029892b819c18d8902f2f Author: Benjamin Otte Date: Thu Sep 24 12:26:53 2009 +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 gobject/gtype.c | 24 +++++++++++++----------- 1 files changed, 13 insertions(+), 11 deletions(-) commit 4c243b1cba6e94658e68c3e4b188d0d784ed7463 Author: Edward Hervey Date: Thu Sep 24 11:45:13 2009 +0200 Make type_data_unref_U not take locks in the common case https://bugzilla.gnome.org/show_bug.cgi?id=585375 gobject/gtype.c | 19 ++++++++++++------- 1 files changed, 12 insertions(+), 7 deletions(-) commit 5e7dba0501f4af4ac5427bbf1227ba5cb026cffa Author: Edward Hervey Date: Thu Sep 24 11:38:49 2009 +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 gobject/gtype.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) commit 2ec989902b2800d150bbb2cf6c3b6924f43ed736 Author: Edward Hervey Date: Thu Sep 24 11:19:58 2009 +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 gobject/gtype.c | 37 ++++++++++++++----------------------- 1 files changed, 14 insertions(+), 23 deletions(-) commit b163759320ddfce0276b20bb453de70919aeeff3 Author: Benjamin Otte Date: Thu Sep 24 11:16:10 2009 +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 gobject/gtype.c | 39 +++++++++++++++++++-------------------- 1 files changed, 19 insertions(+), 20 deletions(-) commit 170423f924950728cec21a784787aa43b0be71bc Author: Edward Hervey Date: Thu Sep 24 10:44:17 2009 +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 gobject/gtype.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit f8d24e849533e0e43cd7c9cf9a9692e4779c0472 Author: Edward Hervey Date: Thu Sep 24 10:16:48 2009 +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 gobject/gtype.c | 57 ++++++++++++++++++++++++++---------------------------- 1 files changed, 27 insertions(+), 30 deletions(-) commit 718b476c4474e5c9e973046ef555ffcb9bfd38a1 Author: Edward Hervey Date: Thu Sep 24 10:03:14 2009 +0200 Move ref_count from TypeNode->data to TypeNode https://bugzilla.gnome.org/show_bug.cgi?id=585375 gobject/gtype.c | 48 ++++++++++++++++++++++++------------------------ 1 files changed, 24 insertions(+), 24 deletions(-) commit 69961d27a13b2083d864884b40c861c5e97a5c12 Author: Alexander Larsson Date: Wed Sep 9 16:42:32 2009 +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. gobject/gtype.c | 185 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 151 insertions(+), 34 deletions(-) commit 8f27a5e62129672f5c17b140ca854fd2307a9734 Author: Alexander Larsson Date: Wed Sep 9 16:51:28 2009 +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. gobject/gtype.c | 329 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 204 insertions(+), 125 deletions(-) commit 75ce4741f9a7a26098a77407de9b4cc2b985a254 Author: Alexander Larsson Date: Wed Sep 9 16:47:44 2009 +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. gobject/Makefile.am | 3 +- gobject/gatomicarray.c | 169 ++++++++++++++++++++++++++++++++++++++++++++++++ gobject/gatomicarray.h | 60 +++++++++++++++++ 3 files changed, 231 insertions(+), 1 deletions(-) commit f55752b10cc29090550005e16e9e7f72c5c060fa Author: Ivar Smolin Date: Mon Nov 30 13:08:18 2009 +0200 Updating Estonian translation po/et.po | 479 ++------------------------------------------------------------ 1 files changed, 10 insertions(+), 469 deletions(-) commit 8df6191a322d6b412448aa5618daf68c4e0ab3da Author: Matthias Clasen Date: Mon Nov 30 00:11:10 2009 -0500 Bump version configure.in | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 2532707ce420623acaf7f1fc0bd3670bb3a8a86b Author: Matthias Clasen Date: Mon Nov 30 00:09:36 2009 -0500 2.23.0 docs/reference/glib/tmpl/glib-unused.sgml | 67 ++ docs/reference/glib/tmpl/macros_misc.sgml | 5 +- docs/reference/glib/tmpl/version.sgml | 68 -- po/am.po | 282 ++++--- po/ar.po | 285 ++++--- po/as.po | 287 ++++--- po/az.po | 282 ++++--- po/be.po | 283 ++++--- po/be@latin.po | 286 ++++--- po/bg.po | 287 ++++--- po/bn.po | 287 ++++--- po/bn_IN.po | 287 ++++--- po/bs.po | 282 ++++--- po/ca.po | 917 ++++++++++---------- po/ca@valencia.po | 285 ++++--- po/cs.po | 287 ++++--- po/cy.po | 282 ++++--- po/da.po | 287 ++++--- po/de.po | 287 ++++--- po/dz.po | 282 ++++--- po/el.po | 286 ++++--- po/en@shaw.po | 966 +++++++++++---------- po/en_CA.po | 285 ++++--- po/en_GB.po | 287 ++++--- po/eo.po | 282 ++++--- po/es.po | 930 ++++++++++---------- po/et.po | 492 +++++++++++- po/eu.po | 287 ++++--- po/fa.po | 282 ++++--- po/fi.po | 287 ++++--- po/fr.po | 287 ++++--- po/ga.po | 282 ++++--- po/gl.po | 941 +++++++++++---------- po/gu.po | 287 ++++--- po/he.po | 287 ++++--- po/hi.po | 287 ++++--- po/hr.po | 282 ++++--- po/hu.po | 287 ++++--- po/hy.po | 282 ++++--- po/id.po | 282 ++++--- po/is.po | 282 ++++--- po/it.po | 287 ++++--- po/ja.po | 287 ++++--- po/ka.po | 282 ++++--- po/kn.po | 287 ++++--- po/ko.po | 287 ++++--- po/ku.po | 282 ++++--- po/lt.po | 285 ++++--- po/lv.po | 282 ++++--- po/mai.po | 285 ++++--- po/mg.po | 282 ++++--- po/mk.po | 285 ++++--- po/ml.po | 287 ++++--- po/mn.po | 282 ++++--- po/mr.po | 287 ++++--- po/ms.po | 282 ++++--- po/nb.po | 943 +++++++++++---------- po/ne.po | 282 ++++--- po/nl.po | 285 ++++--- po/nn.po | 285 ++++--- po/oc.po | 282 ++++--- po/or.po | 287 ++++--- po/pa.po | 287 ++++--- po/pl.po | 287 ++++--- po/ps.po | 282 ++++--- po/pt.po | 287 ++++--- po/pt_BR.po | 951 +++++++++++---------- po/ro.po | 287 ++++--- po/ru.po | 287 ++++--- po/rw.po | 282 ++++--- po/si.po | 282 ++++--- po/sk.po | 285 ++++--- po/sl.po | 1282 +++++++++++++--------------- po/sq.po | 288 ++++--- po/sr.po | 287 ++++--- po/sr@ije.po | 282 ++++--- po/sr@latin.po | 287 ++++--- po/sv.po | 1332 ++++++++++++++--------------- po/ta.po | 287 ++++--- po/te.po | 287 ++++--- po/th.po | 287 ++++--- po/tl.po | 282 ++++--- po/tr.po | 287 ++++--- po/tt.po | 282 ++++--- po/uk.po | 287 ++++--- po/vi.po | 285 ++++--- po/wa.po | 282 ++++--- po/xh.po | 282 ++++--- po/yi.po | 282 ++++--- po/zh_CN.po | 285 ++++--- po/zh_HK.po | 287 ++++--- po/zh_TW.po | 287 ++++--- 92 files changed, 16991 insertions(+), 14691 deletions(-)