commit 34755e6b4efee26f16c13362b96d9166ec0c1d6b Author: Matthias Clasen Date: Sun Mar 11 19:55:47 2012 -0400 Fix distcheck gio/fam/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ff426c6ddc70b5f7bbed6127d2b525572815bd58 Author: Matthias Clasen Date: Sun Mar 11 19:36:09 2012 -0400 2.30.3 NEWS | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) commit 2fec30b2033ccf91654eb8c451c875d9bd959afc Author: Matthias Clasen Date: Tue Feb 21 00:25:31 2012 +0100 Don't rely on /bin/sh Another Fedora UsrMove victim ! glib/tests/utils.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit be130752b43866649beae051b47e66c0ca6b81e6 Author: Matthias Clasen Date: Sun Mar 4 20:49:04 2012 -0500 Fix binding properties of the same object This problem was pointed out in bug 639873. The patch here is based on Matt Barnes patch, I've added a testcase as well. gobject/gbinding.c | 8 +++++--- gobject/tests/binding.c | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) commit fa161472eb3b77000d0218f689a10fca36629b18 Author: Stefan Sauer Date: Sun Feb 26 21:20:24 2012 +0100 goption: try to be helpful in goption args/flag checks When complaining about ill defined GOptionEntries include the name of the option group and entry in the warning. glib/goption.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit bf3b879af044e06cac76ab4a20443bfcec4aa54c Author: Filippo Della Betta Date: Thu Feb 16 10:04:50 2012 +0100 Added better support of G_STRFUNC for Visual Studio platform https://bugzilla.gnome.org/show_bug.cgi?id=670128 glib/gmacros.h | 2 ++ 1 file changed, 2 insertions(+) commit a30463de8a294fcb595fdc19348bc55b8c11e0c8 Author: Rui Matos Date: Tue Feb 21 16:42:43 2012 +0100 gvaluetransform: Fix an infinite loop with GFlagsValue sets with the 0 value Transforming a GValue holding flags from a GFlagsValue set that includes the 0 value (no flag bits set) into a string would loop until exhausting all the available memory. https://bugzilla.gnome.org/show_bug.cgi?id=670557 gobject/gvaluetransform.c | 2 +- gobject/tests/enums.c | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) commit 14ddbfc62ad793b010e33648d840924d590add87 Author: Giovanni Campagna Date: Mon Feb 13 16:41:20 2012 +0100 GDataInputStream: don't segfault on async line reads If an async line read fails, it returns NULL. In that case, we must return NULL before validating the line, or we segfault. https://bugzilla.gnome.org/show_bug.cgi?id=658484 gio/gdatainputstream.c | 3 +++ 1 file changed, 3 insertions(+) commit 125ceb1d447b75a46edcfb056dab2fd79cab273a Author: Christophe Fergeau Date: Thu Feb 9 17:59:55 2012 +0100 Fix g_hash_table_foreach crash with NULL hash table When G_DISABLE_ASSERT is not defined, g_hash_table_foreach and g_hash_table_find dereferences the hash table argument before checking if it's NULL. This causes a crash when one of this function is mistakenly called with a NULL argument instead of returning with a warning through g_return_if_fail. glib/ghash.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) commit 649e3880b7970fcaef5bbd2bfda62d99194860a7 Author: Giovanni Campagna Date: Thu Nov 17 00:52:59 2011 +0100 gtimezone: consider a leading : in TZ environment variable When set to represent a zoneinfo file, TZ may start with :, therefore glib needs to check it and ignore the first char when building the resulting filename, or it won't be found. Also, the path could be absolute, in which case it is wrong to append /usr/share/timezone https://bugzilla.gnome.org/show_bug.cgi?id=664237 glib/gtimezone.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit 8ac2a93edcda9b9143d025fe15ec74964c500eb5 Author: Ravi Sankar Guntur Date: Sat Feb 4 00:14:56 2012 +0530 fix memory leak in g_bookmark_file_parse() https://bugzilla.gnome.org/show_bug.cgi?id=669334 Signed-off-by: Ravi Sankar Guntur glib/gbookmarkfile.c | 48 ++++++++++++++++++++---------------------------- 1 file changed, 20 insertions(+), 28 deletions(-) commit 0c550d4a61619ab83f571bba2b38e9f55f9ad573 Author: Antoine Jacoutot Date: Mon Jan 30 16:17:06 2012 +0100 goption: implement platform_get_argv0() for OpenBSD https://bugzilla.gnome.org/show_bug.cgi?id=669024 glib/goption.c | 31 ++++++++++++++++++++++++++++++- glib/tests/option-argv0.c | 4 ++-- 2 files changed, 32 insertions(+), 3 deletions(-) commit f6a7a70a1fa628c2aaa9442003ab25697482ccb8 Author: Ryan Lortie Date: Wed Jan 25 10:09:09 2012 -0500 GHash: add note about randomness in hashing To clarify our statements about being robust against outside attackers degrading the performance of your hashtable. glib/ghash.c | 5 +++++ 1 file changed, 5 insertions(+) commit 1b7050d6a3e47bebaec005b1960ca7cae07b4122 Author: Matthias Clasen Date: Tue Jan 24 21:11:13 2012 -0500 GHashTable: Add a note about hash collisions glib/ghash.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) commit 304595bc656c449f866219ec471454b6da251099 Author: Dan Winship Date: Thu Jan 19 10:39:57 2012 -0500 g_date_time_format: fix output in non-UTF-8 locales In non-UTF-8 locales, the translations and nl_langinfo() return values must be converted to UTF-8 before being returned to the caller. Likewise, when making a recursive call to expand a format like '%x', the format string must first be converted to UTF-8. https://bugzilla.gnome.org/show_bug.cgi?id=668250 configure.ac | 26 +-- glib/gdatetime.c | 573 ++++++++++++++++++++++++++++-------------------- glib/tests/gdatetime.c | 63 ++++++ 3 files changed, 412 insertions(+), 250 deletions(-) commit 02f5d4e13e417f5cdc570b6247b11813fb8fd1b0 Author: Víctor Manuel Jáquez Leal Date: Fri Mar 9 12:45:41 2012 +0100 build: link against gthread and gmodule When cross-compiling with linaro toolchain 4.6.2, I got several linking errors about missing symbols because a couple libraries are not linked. This patch adds to the LDADD flags the missed libraries. This patch applies above the glib-2-30 branch. Signed-off-by: Víctor Manuel Jáquez Leal https://bugzilla.gnome.org/show_bug.cgi?id=671711 gio/Makefile.am | 18 ++++++++++-------- gio/tests/Makefile.am | 1 + tests/Makefile.am | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) commit b299d2092356fc724c2b70d5b33df68b6a60b02b Author: Krishnababu Krothapalli Date: Thu Mar 1 14:02:18 2012 +0530 Updated Telugu Translations po/te.po | 1049 ++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 515 insertions(+), 534 deletions(-) commit 8ec2b1a899d8ccf2494fded0e9a64ce7d9627c54 Author: John Ralls Date: Fri Feb 24 17:04:52 2012 -0800 [Bug 529806] Cannot build in 64-bit Mac OS X due to libiconv glib/gconvert.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 149a7d0a4d584502030eebcf67a4a3e22e99d58d Author: Peter Kjellerstedt Date: Thu Feb 16 12:17:32 2012 +0100 Do not fail unit test due to gdb abbreviating strings gdb by default will only print strings up to 200 characters. After that it abbreviates them. This affects the run-assert-msg-test.sh script if the path to the glib installation is too long (in our case it was 133 characters, 132 would still have worked...) By having gdb execute "set print elements 0" before printing the assert string, the limit on maximum number of characters to print is set to unlimited. Signed-off-by: Peter Kjellerstedt https://bugzilla.gnome.org/show_bug.cgi?id=670218 tests/run-assert-msg-test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 045f4f98e84194d2c8b30911bb7658a0fdacce0e Author: Javier Jardón Date: Tue Feb 7 15:37:26 2012 +0100 docs: Add win32 gio specific api to the docs docs/reference/gio/gio-docs.xml | 2 ++ docs/reference/gio/gio-sections.txt | 42 +++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) commit cf644d6b22ce720798f068d3589523bf08ec7887 Author: Swecha Localization Team Date: Mon Feb 6 17:18:55 2012 +0530 Updated Telugu Translation po/te.po | 1774 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 918 insertions(+), 856 deletions(-) commit ff9476df6ab9f3cc1afaa9308d86c86c32d86419 Author: Simon McVittie Date: Wed Dec 14 16:56:15 2011 +0000 g_array_free, g_ptr_array_free: decrement refcount if not the last ref foo_free is conceptually "worth" one unref; not decrementing the refcount here means the GArray or GPtrArray wrapper (but not its contents) would leak in the following call sequence: p = g_ptr_array_new (); g_ptr_array_ref (p); g_ptr_array_free (p, TRUE); g_ptr_array_unref (p); Signed-off-by: Simon McVittie Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113 Reviewed-by: Emmanuele Bassi glib/garray.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e9aae873c64beffaf6f675de6978739f1388c023 Author: Simon McVittie Date: Wed Dec 14 16:53:24 2011 +0000 GArray, GPtrArray: factor out the actual freeing Depending how the array is freed, we may want to free the underlying array (the "segment"), the struct wrapper or both. Signed-off-by: Simon McVittie Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113 Reviewed-by: Emmanuele Bassi glib/garray.c | 57 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 14 deletions(-) commit e6b8a3da2aa57b8c09bd6f345f3195d6d372faef Author: Simon McVittie Date: Wed Dec 14 16:46:56 2011 +0000 g_key_file_get_string_list: don't leak the pieces on error Signed-off-by: Simon McVittie Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113 Reviewed-by: Emmanuele Bassi glib/gkeyfile.c | 1 + 1 file changed, 1 insertion(+) commit 78c358a48d5dadf49577169bbe3a4190615ca9e0 Author: Simon McVittie Date: Tue Dec 13 14:44:18 2011 +0000 g_data_set_internal: avoid use-after-free if datalist is in dataset Removing the last thing in a dataset frees the dataset, and if the datalist was in a dataset, we can't safely unlock it after the dataset has been freed. Unlock it sooner. Signed-off-by: Simon McVittie Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113 Reviewed-by: Matthias Clasen glib/gdataset.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit 7ddaec08f48296b451f12d47d9275f38eb46c7f3 Author: Simon McVittie Date: Mon Dec 12 18:37:10 2011 +0000 g_strcompress: check that source is non-NULL rather than just crashing Calling this function with a NULL argument is considered to be invalid, but one of the regression tests does it anyway (to watch it crash), which seems a good indication that it's expected to be somewhat common. Let's check it rather than segfaulting. Signed-off-by: Simon McVittie Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113 Reviewed-by: Emmanuele Bassi Reviewed-by: Matthias Clasen glib/gstrfuncs.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit 43c18ec7392b3dbdbae7a8056d665e36e44e86a7 Author: Simon McVittie Date: Mon Dec 12 18:35:14 2011 +0000 GKeyFile: free group comments when the group is removed These were leaked. Valgrind was sad. Signed-off-by: Simon McVittie Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113 Reviewed-by: Emmanuele Bassi glib/gkeyfile.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 510f221b9e33b4dcbf41c1ff9f0b98bb3b5579a6 Author: Simon McVittie Date: Mon Dec 12 18:34:47 2011 +0000 g_hmac_get_string: don't allocate and leak an unused buffer Also document why we're not actually using the buffer for anything. Signed-off-by: Simon McVittie Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113 Reviewed-by: Emmanuele Bassi glib/ghmac.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit bc2e3d037955ae4419778bf19edb517ddddb4493 Author: Simon McVittie Date: Mon Dec 12 15:54:50 2011 +0000 g_hmac_copy: initialize the refcount In practice, the uninitialized refcount will typically mean that the copy is never freed, and leaks. Signed-off-by: Simon McVittie Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113 Reviewed-by: Emmanuele Bassi glib/ghmac.c | 1 + 1 file changed, 1 insertion(+) commit 656bbe33aefa614d6804db61c0c2c6f5c94e6bd9 Author: Alexandre Franke Date: Mon Dec 12 20:40:31 2011 +0100 Fix wording délai épuisé has been replaced with délai dépassé po/fr.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1070726700a38cf1ab97bc7235099d2064768c42 Author: Aleksander Morgado Date: Fri Dec 9 12:11:53 2011 +0100 gdbus-codegen: fix typo in generated documentation Fixes https://bugzilla.gnome.org/show_bug.cgi?id=665858 gio/gdbus-2.0/codegen/codegen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 44a1663aa97b9823243851c102ebedd5e24e638a Author: Simon McVittie Date: Mon Nov 28 17:54:46 2011 +0000 GDBusConnection: propagate error correctly if flags are inappropriate Previously, this would fail the assertion "connection->initialization_error != NULL" after the label "out". Bug: https://bugzilla.gnome.org/show_bug.cgi?id=665067 Signed-off-by: Simon McVittie Reviewed-by: David Zeuthen gio/gdbusconnection.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a8ee10cc7d10cfe8e23938b48b22430e10cc01f5 Author: Simon McVittie Date: Wed Nov 23 11:20:15 2011 +0000 GDBusWorker: continue_writing: initialize flush_async_data if closing This was a regression in commits f41178c6c and d0d04c09: flush_async_data wasn't necessarily NULL in the "don't flush" case. Also move initialization of these variables up so that it's unconditional, since that's easier to verify than checking that each branch gets it right. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=664617 Signed-off-by: Simon McVittie gio/gdbusprivate.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) commit d09677881b7e46353dde9fb3b138f8a8b944508d Author: Simon McVittie Date: Tue Nov 1 18:03:12 2011 +0000 Add test case for #662395 Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395 Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano gio/tests/Makefile.am | 10 + gio/tests/gdbus-connection-flush.c | 384 ++++++++++++++++++++++++++++++++++++ 2 files changed, 394 insertions(+) commit 07217e8721d84cf33b00b0fd27bd2fae9ba870ae Author: Simon McVittie Date: Tue Nov 1 16:49:36 2011 +0000 GDBus tests: factor out TestIOStream, test_pipe and test_bidi_pipe These might even make useful public API if they grew a Windows implementation, but for now they can be Unix-only test API. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395 Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano gio/tests/Makefile.am | 10 ++- gio/tests/gdbus-non-socket.c | 143 ++++++++++-------------------------------- gio/tests/test-io-stream.c | 104 ++++++++++++++++++++++++++++++ gio/tests/test-io-stream.h | 53 ++++++++++++++++ gio/tests/test-pipe-unix.c | 130 ++++++++++++++++++++++++++++++++++++++ gio/tests/test-pipe-unix.h | 37 +++++++++++ 6 files changed, 365 insertions(+), 112 deletions(-) commit e5019d2d8516970550aba0ae5f6cfd26de48a5be Author: Simon McVittie Date: Fri Oct 21 15:21:25 2011 +0100 _g_dbus_worker_flush_sync: always flush if we need to We didn't previously flush in a couple of cases where we should have done: * a write is running when flush is called: we should flush after it finishes * writes have been made since the last flush, but none are pending or running right now: we should flush the underlying transport straight away Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395 Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano gio/gdbusprivate.c | 43 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) commit d0d04c091aa1453bad69e05fbdd95065965c2950 Author: Simon McVittie Date: Tue Nov 1 19:09:19 2011 +0000 GDBusWorker: move flush async op into continue_writing() This makes it easier to schedule a flush, by putting it on the same code path as writing and closing. Also change message_written to expect the lock to be held, since all that's left in that function either wants to hold the lock or doesn't care, and it's silly to release the lock immediately before calling message_written, which just takes it again. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395 Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano gio/gdbusprivate.c | 101 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 68 insertions(+), 33 deletions(-) commit 210c0c0cd581cdf0af5a691c7e065001bb7be00b Author: Simon McVittie Date: Fri Oct 21 14:46:47 2011 +0100 schedule_write_in_worker_thread: require caller to lock; rename accordingly When we use this function to schedule a flush, it'll be called with the lock held. Releasing and immediately re-taking the lock would be pointless. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395 Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano gio/gdbusprivate.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit 628eee1c7dd76d698a43645d510ac236bb34845d Author: Simon McVittie Date: Fri Oct 21 14:43:44 2011 +0100 GDBusWorker: rename some functions maybe_write_next_message now also closes, and I'm about to make it consider whether to flush as well, so its name is increasingly inappropriate. Similarly, write_message_in_idle_cb is a wrapper around it which could do any of those things. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395 Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano gio/gdbusprivate.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit 8efe505905efd2e469b92f5436f2ddfaa80770fe Author: Simon McVittie Date: Mon Nov 21 16:05:39 2011 +0000 GDBusWorker: distinguish between 3 sorts of output that might be pending If the user calls flush_sync() with no messages in the queue, but an async write call pending, then we ought to flush after that async write returns (although we don't currently do that). If it was an async close or flush that was pending, there's no need to flush (again) afterwards. So, we need to distinguish. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395 Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano gio/gdbusprivate.c | 71 +++++++++++++++++++++++++++++----------------------- 1 file changed, 39 insertions(+), 32 deletions(-) commit 439f3b8e540a43b5edccebd8d3acc2444d82fc8c Author: Sjoerd Simons Date: Sun Nov 13 17:49:57 2011 +0100 Fix 1bit mutex test on platforms with 32 bit aligned pointers The 1 bit mutex tests asserts: ((gsize) ptrs) % 8, ==, 0), which fails when the platform only aligns porters to 32 bits (e.g. S390 and powerpc). I'm not sure why this assertion was placed here, but given that internally g_pointer_bit_trylock uses g_atomic_int_or internally change the assertion so it only requires the alignment to be a multiple of sizeof(int) gthread/tests/1bit-mutex.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c0541e0f4ae1af9c9f9d6da3ac9252c38935280b Author: Matthias Clasen Date: Fri Nov 11 17:51:30 2011 -0500 Bump version configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)