commit 837d0b94a9bc96275c635450879c12fd54005426 Author: Matthias Clasen Date: Mon Oct 27 17:32:06 2014 -0400 Updates for 2.43.0 NEWS | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) commit 203fe3b8a8817da8e1ec771e2ebd15c747653158 Author: Philip Withnall Date: Wed Sep 24 14:06:02 2014 +0100 gcancellable: Clarify that GSources hold references to GCancellables Clarify in the documentation that a GSource created with g_cancellable_source_new() must be explicitly removed from its GMainContext before the GCancellable can be finalised. This could be a common way of leaking GCancellables. https://bugzilla.gnome.org/show_bug.cgi?id=737259 gio/gcancellable.c | 2 ++ 1 file changed, 2 insertions(+) commit 92d67358986c3be48ccbd4135b53ea591f15ea86 Author: Erik van Pienbroek Date: Thu Jul 17 18:37:04 2014 +0200 Guard g_inet_address_mask_equal against invalid input https://bugzilla.gnome.org/show_bug.cgi?id=733338 gio/ginetaddressmask.c | 3 +++ 1 file changed, 3 insertions(+) commit 0501bf26b924cdaccf9c1c38522f267b7a520ef4 Author: Dan Winship Date: Wed Oct 15 17:49:09 2014 -0400 gio/tests/tls-certificates: fix da053e34 broke the tls-certificates test by requiring the backend to implement g_tls_certificate_verify() (which the test TLS backend didn't). Add a trivial implementation to make the test pass again; we'll need something more complicated when we add tests that are supposed to get errors. gio/tests/gtesttlsbackend.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) commit 4125415e7f4d1213fc7122beac0d91af08e37b28 Author: Benjamin Otte Date: Sun Oct 12 02:21:08 2014 +0200 gfile: g_file_equal (x, x) is TRUE So shortcut it. I wrote this patch less as a performance optimization and more as a clarification, so that people looking at the code can be assured of this invariant. https://bugzilla.gnome.org/show_bug.cgi?id=738374 gio/gfile.c | 3 +++ 1 file changed, 3 insertions(+) commit b768d0e4eaf15934067557cfee6b8beebca5df42 Author: Ryan Lortie Date: Tue Oct 21 11:30:47 2014 -0400 Add tests for {read,write}_all_async() https://bugzilla.gnome.org/show_bug.cgi?id=737451 gio/tests/.gitignore | 1 + gio/tests/Makefile.am | 1 + gio/tests/stream-rw_all.c | 258 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 260 insertions(+) commit 223b5f757fe07cdec2879315965297a31edc3478 Author: Ryan Lortie Date: Mon Sep 29 11:50:05 2014 -0400 docs: explain inconsistency of _{read,write}_all() These functions are inconsistent with our normal conventions in that they set an output variable to a specified value, even in the case that an error is thrown. Document very clearly that this should be considered exceptional. https://bugzilla.gnome.org/show_bug.cgi?id=737451 gio/ginputstream.c | 10 ++++++++-- gio/goutputstream.c | 11 +++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) commit c8d10470939847069b1a346d4c44f2adde3469f6 Author: Ryan Lortie Date: Mon Sep 29 11:44:09 2014 -0400 Add g_output_stream_write_all_async() Similar to the previous patch, this commit contains a minor violation of normal API conventions. See the explanation in the previous commit message. Heavily based on a patch from Ignacio Casal Quinteiro. https://bugzilla.gnome.org/show_bug.cgi?id=737451 gio/goutputstream.c | 183 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gio/goutputstream.h | 16 +++++ 2 files changed, 199 insertions(+) commit 76b890d0f104b6ee48a057fc58f1c6b495fdf2f2 Author: Ryan Lortie Date: Mon Sep 29 11:40:46 2014 -0400 Add g_input_stream_read_all_async() Add an asynchronous version of _read_all(). This API is not fully consistent with the normal expectations of a non-asynchronous version. Consistency between the sync and async version is probably more important. The API will still bind correctly, but access to all functionality will not be available: specifically, in the case of an error, higher level languages will be unable to determine how many bytes were successfully read before the error. Most users will probably not want to use this information anyway, so this is OK -- and if they do need the information, then they can just write the loop for themselves. Heavily based on a patch from Ignacio Casal Quinteiro. https://bugzilla.gnome.org/show_bug.cgi?id=737451 gio/ginputstream.c | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++ gio/ginputstream.h | 15 +++++ 2 files changed, 194 insertions(+) commit aabc3a41c36f89363884b2a61dd9b038e5b5c214 Author: Michael Catanzaro Date: Mon Oct 20 19:05:26 2014 -0500 Fix another ancient docs typo gio/gtcpconnection.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f4af8d1d007edcfa5949315be563b3aa8792f250 Author: Ryan Lortie Date: Sat Oct 4 12:47:33 2014 -0400 GApplication: ignore --help if not handling args If the user didn't register any arguments for parsing, also ignore --help. This fixes a regression in meld. https://bugzilla.gnome.org/show_bug.cgi?id=737869 gio/gapplication.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 817f82da6c92d8a2ef0e0582037fd2bbd248798c Author: Ryan Lortie Date: Mon Oct 20 14:28:10 2014 +0200 GOption: stop calling getopt() We called getopt() to try to find out of the platform on which we are running defaults to strict POSIX-style argument handling (ie: flags following the first filename are considered as further filenames rather than flags). This is the default case on BSDs, for example. It is also the case on GNU systems with the POSIXLY_CORRECT environment variable set. Unfortunately many of our tools rely on being able to accept commandline arguments in the non-strict ordering and the code for making these calls is spread widely (for example in Makefile fragments invoking some of our build tools). For this reason we need to revert the getopt() check and only enable strict POSIX mode in the case that the application explicitly opts into it using the _set_strict_posix() API. This also fixs a failure to build on Windows due to missing getopt(). https://bugzilla.gnome.org/show_bug.cgi?id=723160 glib/goption.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) commit e9b7c702404929c415320545905dcf008c9cd666 Author: Ryan Lortie Date: Fri Oct 17 14:38:43 2014 +0200 GHashTable: small docs fix We use g_hash_table_unref() here, not g_object_unref(). glib/ghash.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 18745ff674896c931379d097b18d74678044668e Author: Benjamin Berg Date: Fri Oct 17 14:16:22 2014 +0200 Allow hash table destroy notifiers to remove other entries With this patch it is fine to call g_hash_table_lookup and g_hash_table_remove from destroy notification functions. Before this could lead to an infinitie loop if g_hash_table_remove_all was used. https://bugzilla.gnome.org/show_bug.cgi?id=695082 glib/ghash.c | 91 ++++++++++++++++++++++++++++++++++++++++++++----------- glib/tests/hash.c | 55 +++++++++++++++++++++++++++++++-- 2 files changed, 125 insertions(+), 21 deletions(-) commit cb042bf5b5750a31f93b122b49f5a90975a5ed6a Author: Emmanuele Bassi Date: Fri Oct 17 11:14:10 2014 +0100 docs: Add missing get_type() reference to gio.types GSubprocessLauncher is a GObject, so we need to tell gtk-doc to inspect it. https://bugzilla.gnome.org/show_bug.cgi?id=738675 docs/reference/gio/gio.types | 1 + 1 file changed, 1 insertion(+) commit ae52ab3d1170a393b0b734e9b9b37c3f107a7c03 Author: Ryan Lortie Date: Mon Jan 27 15:42:23 2014 +0000 GOption: add strict posix mode Add a "posixly correct" mode to GOption to stop parsing arguments as soon as the first non-option argument is encountered. We determine the default value on the basis of duplicating the behaviour of the system getopt() implementation (which we directly check the behaviour of at runtime). On GNU systems this allows the user to modify our behaviour using POSIXLY_CORRECT. The user can change the value by g_option_context_set_strict_posix(), which might be useful for some usecases of GOptionContext (as mentioned in the doc string of this new function). https://bugzilla.gnome.org/show_bug.cgi?id=723160 glib/goption.c | 72 +++++++++++++++++++++++++++++++++++++++++++++ glib/goption.h | 6 ++++ glib/tests/option-context.c | 66 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 144 insertions(+) commit f2786908a8858ec9d063e8fae7e4b2d8d612b682 Author: Matthias Clasen Date: Tue Oct 14 23:22:14 2014 -0400 GApplication: Plug a memory leak We were not freeing resource_path. gio/gapplication.c | 2 ++ 1 file changed, 2 insertions(+) commit 5a0a85e444f5f7d18e4d20fc0340afb58f732e5f Author: Jasper St. Pierre Date: Tue Oct 14 19:14:01 2014 -0700 gdesktopappinfo: Fix copy/paste typo from e24e89b Commit e24e89b accidentally ironically introduced a typo when replacing the code with symbolic contents. Specifically, "Added Associations" was replaced with "Default Applications" when reading defaults.list, giving a warning about the file containing a "Default Applications" group. If this was intended, it should have not been lumped in with a cleanup. gio/gdesktopappinfo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e054bbfe1646239abc673658db314f546ff27709 Author: Benjamin Otte Date: Sun Oct 12 01:57:02 2014 +0200 gfile: Clarify docs Clarify corner cases that were unclear while reviewing a GTK patch. gio/gfile.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 6e994d06560bdb36921eef8338681caf95d90102 Author: Benjamin Otte Date: Sun Oct 12 01:29:27 2014 +0200 Bump version to 2.43.0 We have new API. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 36d8b941d4b5007b71c2b60bb80b80fa31a354e6 Author: Benjamin Otte Date: Sun Sep 7 05:28:56 2014 +0200 signal: Keep only one list of emissions There is no need to keep 2 lists. This simplifies the code and gets rid of the only user inside glib of G_HAVE_GROWING_STACK. https://bugzilla.gnome.org/show_bug.cgi?id=736284 gobject/gsignal.c | 73 +++++++++++++++++++------------------------------------ 1 file changed, 25 insertions(+), 48 deletions(-) commit 58ec89ea7c86f9b61ae4a0017019e19f09a1542f Author: Matthias Clasen Date: Sat Oct 11 15:53:13 2014 -0400 Fix a return_if_fail confusion This slipped through my editing of the patch. gobject/gtype.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 011bf876e75c93c6b3fb9dd24d9458d881d4b36b Author: Owen W. Taylor Date: Thu Oct 9 16:38:10 2014 -0400 Add simple instance count facility Add GOBJECT_DEBUG=instance-count which enables internal accounting of the number of instances of each GType, and g_type_get_instance_count() to retrieve the result. https://bugzilla.gnome.org/show_bug.cgi?id=354457 gobject/gtype.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- gobject/gtype.h | 6 +++++- 2 files changed, 55 insertions(+), 2 deletions(-) commit aa401aef878eb0dc02e0c4523cadceaa714ac012 Author: Krasimir Chonov Date: Sat Oct 11 08:17:10 2014 +0300 Updated Bulgarian translation po/bg.po | 2239 ++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 1230 insertions(+), 1009 deletions(-) commit 26c66ab1b9806d097bd1080240435cb37642f141 Author: Matthias Clasen Date: Fri Oct 10 14:17:56 2014 -0400 Clarify g_propagate_error docs I just ran into a bug that was caused by having src being a persistent GError* that was not cleared after propagating it. glib/gerror.c | 4 ++++ 1 file changed, 4 insertions(+) commit 0bfea5e7728bf7bc9e25da3c828b60c6fc9c776f Author: Benjamin Gilbert Date: Thu Oct 9 00:07:36 2014 -0400 Fix g_cond_timed_wait() timeout with !CLOCK_MONOTONIC g_get_monotonic_time() and g_get_real_time() now always use different clocks, so we cannot avoid correcting for their offset. Fixes failure to time out on Mac OS X. https://bugzilla.gnome.org/show_bug.cgi?id=738197 glib/deprecated/gthread-deprecated.c | 6 ------ 1 file changed, 6 deletions(-) commit 549e7b0de62b9f31825f0c24f41cfa7eaad97360 Author: Aleksander Morgado Date: Wed Oct 8 20:37:42 2014 +0200 garray: initialize allocated size in g_byte_array_new_take() Internal allocation size (array->alloc) was being kept to 0 when a new GByteArray was created from an already existing heap-allocated buffer. Among other things, this was making g_byte_array_set_size() fully clear all the buffer contents (not just the newly allocated memory) when G_DEBUG=gc-friendly was being used... if (G_UNLIKELY (g_mem_gc_friendly)) memset (array->data + array->alloc, 0, want_alloc - array->alloc); https://bugzilla.gnome.org/show_bug.cgi?id=738170 glib/garray.c | 1 + 1 file changed, 1 insertion(+) commit de82b641b05ee32812d945a9d4ecd1c1bbc3401e Author: Matthias Clasen Date: Mon Oct 6 22:41:06 2014 -0400 Add advice on g_cancellable_reset Don't use it at home. gio/gcancellable.c | 7 +++++++ 1 file changed, 7 insertions(+) commit da053e345b4729a8a166eca54da257ae9accc7b1 Author: Aleix Conchillo Flaqué Date: Mon Oct 6 10:19:48 2014 -0700 tlscertificate: add support for certificate chains This patch changes the behavior of the following functions: g_tls_certificate_new_from_pem g_tls_certificate_new_from_file g_tls_certificate_new_from_files If more than one certificate is found it will try to load the chain. It is assumed that the chain will be in the right order (top-level certificate will be the last one in the file). If the chain cannot be verified, the first certificate in the file will be returned as before. https://bugzilla.gnome.org/show_bug.cgi?id=729739 gio/gtlscertificate.c | 230 ++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 184 insertions(+), 46 deletions(-) commit 4454b815367831a71b1ae00b0182b5b389a78df2 Author: Michael Catanzaro Date: Sun Oct 5 12:11:08 2014 -0500 Fix typo glib/gthreadpool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6cd13d34fe9db74dd1d6a144630262ab6306a95f Author: Milo Casagrande Date: Sun Oct 5 13:07:12 2014 +0000 Updated Italian translation po/it.po | 688 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 350 insertions(+), 338 deletions(-) commit 5cbc94d8294634e54218fcc5d78d2f31e116469f Author: Matthias Clasen Date: Thu Oct 2 14:41:01 2014 -0400 GDataSet: Add more tests These tests exercise the NULL key fix from the previous commit. glib/tests/dataset.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) commit f6a9d0479622593c8339346b7298ca04f31a56be Author: Matthias Clasen Date: Thu Oct 2 14:40:16 2014 -0400 GDataSet: silently accept NULL/0 as keys This used to be the behaviour before we made these functions threadsafe; keep it that way. https://bugzilla.gnome.org/show_bug.cgi?id=737741 glib/gdataset.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit e24e89bc0777044b41f180dbf3891f852b4a749e Author: Bastien Nocera Date: Thu Sep 4 15:39:19 2014 +0200 gdesktopappinfo: Use symbolic names in the code We have #defines for the key file groups, so use them to avoid typos. https://bugzilla.gnome.org/show_bug.cgi?id=736273 gio/gdesktopappinfo.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) commit 45344f362256d725e8e8b5d334b5062853554115 Author: Ting-Wei Lan Date: Mon Sep 29 23:25:11 2014 +0800 GCredentials: Fix ABI break when adding NetBSD support https://bugzilla.gnome.org/show_bug.cgi?id=728256 gio/gioenums.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 682bca095068d2823a129bebae42bb4f27f3e118 Author: Ryan Lortie Date: Mon Sep 29 11:39:51 2014 -0400 Add version macros for 2.44 docs/reference/glib/glib-sections.txt | 1 + glib/gversionmacros.h | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) commit a4612a922bc984ff45e2096d2d286da1be5be481 Author: Philip Withnall Date: Fri Sep 26 16:18:46 2014 +0100 tests: Fix some minor leaks in the unit tests https://bugzilla.gnome.org/show_bug.cgi?id=737446 glib/tests/bookmarkfile.c | 1 + glib/tests/fileutils.c | 3 ++- glib/tests/option-context.c | 8 ++++++-- 3 files changed, 9 insertions(+), 3 deletions(-) commit cb2c6eef0a5a044b39f8c92360e3e01375e23d10 Author: Sébastien Wilmet Date: Sat Sep 27 00:04:55 2014 +0200 gslist: indentation fix glib/gslist.c | 102 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 51 insertions(+), 51 deletions(-) commit 66ef10eec9f4acae19335373fe7cbbebed5ceb60 Author: Sébastien Wilmet Date: Thu Sep 18 16:41:32 2014 +0200 docs: syntax highlighting for the code examples In the sections Concepts, Tools and Tutorial. https://bugzilla.gnome.org/show_bug.cgi?id=736914 docs/reference/gobject/glib-genmarshal.xml | 12 +-- docs/reference/gobject/glib-mkenums.xml | 12 +-- docs/reference/gobject/tut_gobject.xml | 20 ++-- docs/reference/gobject/tut_gsignal.xml | 40 ++++---- docs/reference/gobject/tut_gtype.xml | 80 +++++++-------- docs/reference/gobject/tut_howto.xml | 156 ++++++++++++++--------------- docs/reference/gobject/tut_intro.xml | 8 +- docs/reference/gobject/tut_tools.xml | 4 +- 8 files changed, 166 insertions(+), 166 deletions(-) commit 1c6df7aaeb52672c7a63517c4df271db7727b8be Author: Philip Withnall Date: Thu Sep 25 09:51:25 2014 +0100 gmain: Unref child sources when finalising a GSource If a GSource is created, *not* attached to a GMainContext, and then has child sources added, dropping the last reference to the parent GSource will leak its references to its child sources. Currently, child sources are only unreffed when g_source_destroy() is called on the parent. https://bugzilla.gnome.org/show_bug.cgi?id=737338 glib/gmain.c | 11 +++++++++++ 1 file changed, 11 insertions(+) commit eaca86801e1ae149559ec1575cac4ef4813a255e Author: Philip Withnall Date: Thu Sep 25 09:51:00 2014 +0100 gmain: Fix some signed/unsigned integer comparisons Just to shut gcc up. https://bugzilla.gnome.org/show_bug.cgi?id=737338 glib/gmain.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 42d0dc363e3597d36136051d53e25c09ebff253f Author: Sweta Kothari Date: Wed Sep 24 23:09:32 2014 +0530 Updated gujarati translations po/gu.po | 2135 +++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 1198 insertions(+), 937 deletions(-) commit 0ab9d66b058ad2fadf0194578739a2aece607b6f Author: Krishnababu Krothapalli Date: Tue Sep 23 14:28:34 2014 +0000 Updated Telugu translation po/te.po | 2161 +++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 1212 insertions(+), 949 deletions(-) commit e1b84e3296c1ab0cba29ce2114505ae9f5002cae Author: Hib Eris Date: Mon Sep 22 22:37:43 2014 +0200 Include in glib/valgrind.h This ensures the uintptr_t type is defined on mingw-w64. Fixes compile error: make[4]: Entering directory `/home/abuild/rpmbuild/BUILD/glib-2.42.0/gobject' CC libgobject_2_0_la-gtype.lo In file included from gtype.c:24:0: ../glib/valgrind.h: In function 'VALGRIND_PRINTF': ../glib/valgrind.h:5601:4: error: unknown type name 'uintptr_t' uintptr_t _qzz_res; ^ https://bugzilla.gnome.org/show_bug.cgi?id=737143 glib/valgrind.h | 3 +++ 1 file changed, 3 insertions(+) commit f5ed7d2d3e26d7b06c5aac4ef38f5eb995289a59 Author: Saibal Ray Date: Tue Sep 23 11:27:44 2014 +0000 Updated Bengali (India) translation po/bn_IN.po | 6452 ++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 3675 insertions(+), 2777 deletions(-) commit f41ebebd3476e3e6887f11ed26672a39513c4f98 Author: Philip Withnall Date: Fri Sep 19 08:54:33 2014 +0100 gtask: Ignore errors from g_thread_pool_push() g_thread_pool_push() only returns an error if it fails to spawn a new thread. However, it unconditionally adds the task to its worker queue, so: • if _any_ threads exist in the pool, the task will eventually be handled; and • if _no_ threads exist in the pool, the task will be handled if one is eventually successfully spawned. If no more threads are ever spawned, the process probably has bigger problems than a single GTask which is taking forever to complete. https://bugzilla.gnome.org/show_bug.cgi?id=736806 gio/gtask.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit 925913d8dd8f4f283265fb7b2e17fc3da4d06b3e Author: Philip Withnall Date: Wed Sep 17 17:20:46 2014 +0100 gtask: Document signal handler reference counting Explain why the signal handler holds a reference to the GTask, even though that causes a reference loop at first glance. https://bugzilla.gnome.org/show_bug.cgi?id=736806 gio/gtask.c | 8 ++++++++ 1 file changed, 8 insertions(+) commit c6838ffaa1dd5ff9d2b44f7eaffcd8ecf9886f2a Author: Philip Withnall Date: Wed Sep 17 15:07:25 2014 +0100 gtask: Fix a signed/unsigned integer comparison The GSource times assigned to creation_time are always signed. https://bugzilla.gnome.org/show_bug.cgi?id=736806 gio/gtask.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)