commit fc38156cbab15561f3139b2e851668641a6b17af Author: Matthias Clasen Date: Wed Aug 19 15:11:12 2015 -0400 2.45.5 NEWS | 40 ++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) commit 656494a7840cfb6c53c2cb9a27d82f58e2dd6f40 Author: Dan Winship Date: Wed Aug 19 15:45:11 2015 -0400 gpermission: fix async error returns a8eedd00 broke the error return values from g_permission_acquire/release_async() on GSimplePermission. Fix that. gio/gpermission.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 8c32f7c448593862055a3b8de24514b76da96158 Author: Matthias Clasen Date: Wed Aug 19 07:10:55 2015 -0400 Add some file monitoring tests Add a new test which checks that atomically replacing a file that is being monitored by GFileMonitor produced the expected events. The test can easily be expanded to cover other file monitoring scenarios. gio/tests/Makefile.am | 1 + gio/tests/testfilemonitor.c | 226 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 227 insertions(+) commit ac78d14125a39f1677a5a5d77bb8ab4cb5f2d3c9 Author: Matthias Clasen Date: Wed Aug 19 07:10:01 2015 -0400 inotify: Fix handling of paired events for atomic replace After the big file monitoring rewrite, we only put the IN_MOVED_FROM event in the queue for such pairs. It matches INOTIFY_DIR_MASK and thus we call ip_dispatch_event on it, but that function was filtering it out because the filename in the 'from' event is the one of the temp file, not the one we are monitoring. That name is in the 'to' event, so compare it as well, and let the event passin that case. There is another instance of this check in glocalfilemonitor.c, which is corrected here as well. https://bugzilla.gnome.org/show_bug.cgi?id=751358 gio/glocalfilemonitor.c | 4 ++-- gio/inotify/inotify-path.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) commit 780b48c4cdc97ca5607ba15bc73ce5cc64d67c04 Author: Daniel Mustieles Date: Wed Aug 19 20:35:38 2015 +0200 Updated Spanish translation po/es.po | 394 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 198 insertions(+), 196 deletions(-) commit 5a642651c799906ec67ebb268cbd8148cd774d0a Author: Philip Withnall Date: Fri Dec 19 15:27:03 2014 +0000 gmessages: Mention g_return_if_fail() in g_warning() and g_error() docs It seems to be common for people to use g_warning() or g_error() as pre- and post-condition error reporting functions, which is not really what they’re intended for. Similarly, it is generally a sign of bad API design to use g_warning() to report errors — use GError instead. Try and suggest this to the user in the hope that nice code results. https://bugzilla.gnome.org/show_bug.cgi?id=741779 glib/gmessages.c | 8 ++++++++ 1 file changed, 8 insertions(+) commit ef1ba452b3302e75f767d6160cf8d379af55d90d Author: Philip Withnall Date: Fri Dec 19 15:21:09 2014 +0000 gsignal: Document memory management best practices for signal handlers It’s quite common to see naked g_signal_connect() calls without a paired g_signal_handler_disconnect(). This is commonly a bug which could lead to uses of the callback user data after it’s been freed. Document the best practices for avoiding this kind of bug by properly disconnecting all signal handlers. https://bugzilla.gnome.org/show_bug.cgi?id=741779 gobject/gsignal.c | 26 ++++++++++++++++++++++++++ gobject/gsignal.h | 3 +++ 2 files changed, 29 insertions(+) commit db8455f07d3d58b8d30d35371c0bbd3e342c8960 Author: Philip Withnall Date: Thu Dec 18 16:01:26 2014 +0000 gmain: Document memory management best practices for GSources It’s very common to see code where a timeout is scheduled using g_timeout_add(), yet the owning object could be destroyed shortly afterwards, before the timeout is fired, leading to use-after-free. Try and prevent this happening with new code by documenting best practices for memory management of user data for GSource callbacks. https://bugzilla.gnome.org/show_bug.cgi?id=741779 glib/gmain.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) commit c5cd1c5f023c6d03de9e551d0b0fde2d2f383d29 Author: Philip Withnall Date: Fri Jan 16 09:44:27 2015 +0000 gobject: Add cross-links from GObject reference docs to tutorials Add some brief links from the GObject reference documentation to the existing tutorial and overview sections on GObjects. https://bugzilla.gnome.org/show_bug.cgi?id=743018 gobject/gobject.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 9874fe3c400f16bbe6769899702a343da525e1d6 Author: Philip Withnall Date: Fri Jan 16 09:43:16 2015 +0000 gobject: Cross-link from GType reference docs to GType conventions page Make it a little easier to find the GType conventions page, which I guess should be the canonical guide to how to name things. This adds a brief mention of the valid characters in a type name to the conventions page. https://bugzilla.gnome.org/show_bug.cgi?id=743018 docs/reference/gobject/tut_gtype.xml | 4 ++++ gobject/gtype.c | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) commit 10f96a914d4bdd9a472d304f76e2f1ed6ff47355 Author: Dušan Kazik Date: Wed Aug 19 10:59:44 2015 +0000 Updated Slovak translation po/sk.po | 407 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 208 insertions(+), 199 deletions(-) commit d624bf4e6673cc989f0d452c6bc2f26b526891c9 Author: Philip Withnall Date: Fri Dec 19 17:05:36 2014 +0000 gthread: Suggest using *_async() functions instead of threads It’s unfortunately common to see worker threads being spawned all over the place to do operations which could be brought into the main thread with an async call, simplifying everything. https://bugzilla.gnome.org/show_bug.cgi?id=741779 glib/gthread.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 5ee333e4cb0b3d2160fcde7c6b3287fe2a8f079e Author: Philip Withnall Date: Wed Mar 4 11:37:40 2015 +0000 gstrfuncs: Add a string formatting note about using G_GUINT64_FORMAT …and friends. The ‘String precision pitfalls’ section is already linked to from all the relevant printf()-style functions, so this documentation should hopefully be easy to find. https://bugzilla.gnome.org/show_bug.cgi?id=741779 glib/gstrfuncs.c | 7 +++++++ 1 file changed, 7 insertions(+) commit 8c858a018d752e06e4a9720735ffc495c3159e20 Author: Philip Withnall Date: Fri Dec 19 17:23:54 2014 +0000 gvariant: Clarify that nullable strings should use maybe types Otherwise people might try to encode a NULL string as "NULL". I’m not even kidding. https://bugzilla.gnome.org/show_bug.cgi?id=741779 docs/reference/glib/gvariant-varargs.xml | 3 ++- glib/gvariant.c | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) commit 5d014a802a4b47fbf5774f613d61b4218a1aa2a2 Author: Janusz Lewandowski Date: Fri Oct 10 22:58:20 2014 +0200 Add a g_dbus_connection_register_object_with_closures function This is a binding-friendly version of g_dbus_connection_register_object. Based on a patch by Martin Pitt and the code of g_bus_watch_name_with_closures. https://bugzilla.gnome.org/show_bug.cgi?id=656325 docs/reference/gio/gio-sections.txt | 1 + gio/gdbusconnection.c | 253 ++++++++++++++++++++++++++++++++++++ gio/gdbusconnection.h | 8 ++ gio/tests/gdbus-export.c | 58 ++++++++- 4 files changed, 313 insertions(+), 7 deletions(-) commit 61254347b19fa82c53a4f764346b5cb6b2aaf5dc Author: Alexandre Franke Date: Sat Aug 15 11:36:48 2015 +0000 Updated French translation po/fr.po | 517 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 258 insertions(+), 259 deletions(-) commit 23d8cc57634945d4fcd86eba26e8bdbe1ecf2fa1 Author: Kjartan Maraas Date: Tue Aug 11 19:41:08 2015 +0200 Updated Norwegian bokmål translation. po/nb.po | 725 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 361 insertions(+), 364 deletions(-) commit 66116fc272c01a16188b5ce25ab8e88d01d48d92 Author: Jordi Mas Date: Tue Aug 11 08:05:34 2015 +0200 Update Catalan translation po/ca.po | 765 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 389 insertions(+), 376 deletions(-) commit 34277d69960960aeeb936629fc4c5326c7414f25 Author: Felix Riemann Date: Sun Aug 9 23:13:38 2015 +0200 gio: g_menu_item_set_icon should not fail if icon is NULL It allows passing a NULL icon to unset the icon and thus should not log a critical warning if used like that. https://bugzilla.gnome.org/show_bug.cgi?id=753285 gio/gmenu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0993cf6dc08829aa7ef826f26757b36b5f6f92b4 Author: Muhammet Kara Date: Sun Aug 9 15:46:12 2015 +0000 Updated Turkish translation po/tr.po | 748 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 379 insertions(+), 369 deletions(-) commit a8eedd00a726483cd29a2a5c9660c82438a5d57e Author: Dan Winship Date: Fri Aug 7 09:48:27 2015 -0400 gio: fix a leftover GSimpleAsyncResult usage And remove remaining unnecessary gsimpleasyncresult.h includes gio/gconverterinputstream.c | 1 - gio/gconverteroutputstream.c | 1 - gio/gdbusobjectmanagerclient.c | 1 - gio/gdummytlsbackend.c | 1 - gio/gpermission.c | 11 ++++++----- gio/gproxyresolver.c | 1 - gio/gresolver.c | 1 - gio/gunixinputstream.c | 1 - gio/gunixmount.c | 1 - gio/gunixoutputstream.c | 1 - gio/gwin32inputstream.c | 1 - gio/gwin32mount.c | 1 - gio/gwin32outputstream.c | 1 - 13 files changed, 6 insertions(+), 17 deletions(-) commit e02fa68068b05cdc93283af043e735cd19f40fcc Author: Dan Winship Date: Fri Aug 7 09:47:09 2015 -0400 gsettings-tool: fix deprecated call gio/gsettings-tool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ff3dee4bf68c7bf971185f7fe6d06e71a71293d9 Author: Dan Winship Date: Thu Aug 6 17:00:16 2015 -0400 gdbus: fix gdbus-exit-on-close for gdbusconnection change gio/tests/gdbus-exit-on-close.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) commit a3660532535f92cfac136435579ed4f23231f48c Author: Dan Winship Date: Fri Aug 7 09:46:49 2015 -0400 glib: remove deprecated g_mem_is_system_malloc() check in gprintf.c glib/gprintf.c | 7 ------- 1 file changed, 7 deletions(-) commit ebaa1de304ccad8cd9b82e5d49f229bf1815d529 Author: Dan Winship Date: Thu Aug 6 15:45:47 2015 -0400 glib: drop array-test test for bug 568760 The test relied on g_mem_set_vtable(), so it fails now. But no one ever touches that code so it's not like we're going to break it again anyway. glib/tests/array-test.c | 37 ------------------------------------- 1 file changed, 37 deletions(-) commit a0e74f6033e2a5aeab1de175de5bfb28328eb23d Author: Aurimas Černius Date: Thu Aug 6 22:53:12 2015 +0300 Updated Lithuanian translation po/lt.po | 751 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 383 insertions(+), 368 deletions(-) commit 66bc9660c44b71c8bff47b4f7e16a801169a9f23 Author: Colin Walters Date: Mon Jan 5 09:40:37 2015 -0500 gdbusconnection: Don't g_printerr() when exiting exit-on-close for a DBus connection is a completely normal thing. On a regular GNOME login, gdm retains the X server, but terminates the session login bus and associated helpers like gnome-settings-dameon, the a11y tools, etc. I've seen several downstream reports of confusion as to what these apparent error messages mean in the system log. It doesn't help that they're so obtuse. We're also printing them to stderr, when this is not an error. The reason this was introduced is presumably some people were confused as to why their process exited when the system bus did. But the solution for that I believe is documentation, not printing stuff to everyone's system log in normal operation. https://bugzilla.gnome.org/show_bug.cgi?id=742386 gio/gdbusconnection.c | 11 ----------- 1 file changed, 11 deletions(-) commit 905e916573a6a714bfbf513df2bb07bb365ca2a8 Author: Matthias Clasen Date: Wed Aug 5 17:18:48 2015 -0400 Don't leak an error The previous commit introduced a possible memory leak in cases where we get a G_IO_ERROR_CLOSED error. Make sure to always free an error, if we got one. https://bugzilla.gnome.org/show_bug.cgi?id=753278 gio/gdbusobjectmanagerserver.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit b3fcb1442e81d14846a8b5d2e33352ac0f6d48ea Author: Stef Walter Date: Wed Aug 5 13:25:47 2015 +0200 gdbus: Don't use g_assert_no_error() GDBusObjectManagerServer There are real world cases where emitting signals can fail, such as if the DBus connection closes. Asserting and aborting the process in these cases is just plain lazy. Ignore the errors when the connection is closed, and turn the others into warnings. https://bugzilla.gnome.org/show_bug.cgi?id=753278 gio/gdbusobjectmanagerserver.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) commit 46cf19c447f50d0aa9a4aee8c58ef2a7da2033ef Author: Andika Triwidada Date: Mon Aug 3 11:28:22 2015 +0000 Updated Indonesian translation po/id.po | 1010 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 514 insertions(+), 496 deletions(-) commit a2a35870364d925d1217e4973bbcff53fc3c880d Author: Benjamin Otte Date: Sun Aug 2 17:36:05 2015 +0200 gmain: Document return value of GSourceFuncs.dispatch glib/gmain.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 6b652b1a2e7c6f67e9576e4331da76971d54cc68 Author: Philip Withnall Date: Wed Jul 29 11:56:41 2015 +0100 gio: Fix application of GNetworkMonitor:network-metered patch The wrong patch from https://bugzilla.gnome.org/show_bug.cgi?id=750282 was applied, causing test failures due to not implementing the property on GNetworkMonitorBase (plus some other omissions). Fix that by reverting commit a80e7db1a8f26dc558085844dcb8003edb6eca74 and re-applying the correct patch over the top. https://bugzilla.gnome.org/show_bug.cgi?id=750282 gio/gnetworkmonitor.c | 18 +++++++++++------- gio/gnetworkmonitorbase.c | 7 +++++++ gio/gnetworkmonitornm.c | 9 ++++++--- gio/tests/network-monitor.c | 11 +++++++++++ 4 files changed, 35 insertions(+), 10 deletions(-) commit 7f195ac956153b06483bd0e78cfd3b5c100413b5 Author: Philip Withnall Date: Tue Jul 28 10:13:12 2015 +0100 gresource: Clarify error docs for g_resource_enumerate_children() Document that it returns G_RESOURCE_ERROR_NOT_FOUND if the path doesn’t exist. gio/gresource.c | 3 +++ 1 file changed, 3 insertions(+) commit 6e4e1c168c2fa1fea4b449ba7a4b551aa4b6af6e Author: Akom Chotiphantawanon Date: Tue Jul 28 15:55:05 2015 +0700 Updated Thai translation po/th.po | 371 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 185 insertions(+), 186 deletions(-) commit b173244b7d06234ff45027ca277da9dd986b5b37 Author: Matthias Clasen Date: Tue Jul 28 00:04:35 2015 -0400 Remove malloc tests These tests were about the no longer supported vtable functionality, so just remove them. glib/tests/Makefile.am | 1 - glib/tests/malloc.c | 117 ------------------------------------------------- 2 files changed, 118 deletions(-) commit 3be6ed60aa58095691bd697344765e715a327fc1 Author: Alexander Larsson Date: Sat Jun 27 18:38:42 2015 +0200 Deprecate and drop support for memory vtables The memory vtables no longer work, because glib contructors are called before main(), so there is no way to set it them before use. This stops using the vtable at all, and deprecates and stubs out the related functions. https://bugzilla.gnome.org/show_bug.cgi?id=751592 glib/gmem.c | 386 +++++------------------------------------------------------- glib/gmem.h | 8 +- 2 files changed, 34 insertions(+), 360 deletions(-) commit 08a3f3f3d2190c7ff393ea13c5a310ba8a13a2e0 Author: Matthias Clasen Date: Mon Jul 27 07:52:27 2015 -0400 GOptionContext: Don't crash without main group This was introduced in 126c685f4aa and caused e.g. gdbus to crash when called without arguments. https://bugzilla.gnome.org/show_bug.cgi?id=752210 glib/goption.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 17871e6881beb401eebb8b05eccb01490cfa85b6 Author: Matthias Clasen Date: Mon Jul 27 06:51:17 2015 -0400 Add a note to the g_str_hash docs Point out some shortcomings of the djb hash, as found in https://bugzilla.gnome.org/show_bug.cgi?id=751610 glib/ghash.c | 4 ++++ 1 file changed, 4 insertions(+) commit a80e7db1a8f26dc558085844dcb8003edb6eca74 Author: Richard Hughes Date: Tue Jun 2 15:41:48 2015 +0100 gio: Add network metered information to GNetworkMonitor Add a property to GNetworkMonitor indicating if the network is metered, e.g. subject to limitations set by service providers. The default value is FALSE https://bugzilla.gnome.org/show_bug.cgi?id=750282 docs/reference/gio/gio-sections.txt | 1 + gio/gnetworkmonitor.c | 47 +++++++++++++++++++++++++++++++++++++ gio/gnetworkmonitor.h | 3 +++ gio/gnetworkmonitornm.c | 46 ++++++++++++++++++++++++++++++++++++ 4 files changed, 97 insertions(+) commit 9c4887027d6bd09f38120b195c677dbe3bc5654b Author: Matthias Clasen Date: Mon Jul 27 06:24:44 2015 -0400 Remove some questionable documentation A function that takes a lock can certainly block in the sense that it has to wait if the lock is taken. https://bugzilla.gnome.org/show_bug.cgi?id=751751 glib/gasyncqueue.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit c885d42751e35ac8210f889d80e4b059a08d86ae Author: Matthias Clasen Date: Sun Jul 26 21:39:53 2015 -0400 Add tests for GApplication::handle-local-options gio/tests/gapplication.c | 132 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) commit 243d740c0430a2fa123c2428bf25ae80768ed633 Author: Christophe Fergeau Date: Sun Jun 21 10:51:50 2015 +0200 gapplication: Stop handle-local-options emission on errors A signal accumulator can return TRUE to continue signal emission, and FALSE to stop signal emission. handle-local-options callbacks can return « return a non-negative option if you have handled your options and want to exit the process ». Currently, g_application_handle_local_options_accumulator (the accumulator for the handle-local-options signal) returns TRUE on non-negative return value (ie continue signal emission), and returns FALSE on negative return values (ie when the default option processing should continue). This return value seems backward as on >= 0 values, subsequent handle-local-options callbacks could overwrite the 'exit request' from the handler, while on < 0 values, the handle-local-options processing could end up early if several callbacks are listening for this signal. In particular, the default handler for this signal (g_application_real_handle_local_options) always returns -1 and will overwrite >= 0 return values from other handlers. This commit inverts the check so that signal emission stops early when one of the handle-local-options callbacks indicates it wants processing to stop and the process to exit. https://bugzilla.gnome.org/show_bug.cgi?id=751598 gio/gapplication.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2551685cf629b7f34030f146d71d2400825d36f7 Author: Christophe Fergeau Date: Sun Jun 21 10:56:58 2015 +0200 gapplication: Fix typos in handle-local-options API doc The @options parameter was missing an 's', and the name of g_application_command_line_get_options_dict() was not correct. https://bugzilla.gnome.org/show_bug.cgi?id=751598 gio/gapplication.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit c7e49a324164e80cfa64a1a66c110edde5e93cec Author: Marek Černocký Date: Sat Jul 25 03:27:32 2015 +0200 Updated Czech translation po/cs.po | 479 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 234 insertions(+), 245 deletions(-) commit 0441ae1ccf31ab10c4c65c74ea58012c44106be5 Author: Peter Meerwald Date: Thu Jul 23 11:38:47 2015 +0200 ghash: Fix typo in g_hash_table_replace() documentation https://bugzilla.gnome.org/show_bug.cgi?id=752767 glib/ghash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8520ae3ffa71e2680076fd3fcc1b7350a364ae76 Author: Philip Withnall Date: Fri Jun 12 08:32:11 2015 +0100 gsocket: Factor out blocking parameter from g_socket_send_messages() This will make future API additions easier. The factored version is internal for the time being. https://bugzilla.gnome.org/show_bug.cgi?id=751924 gio/gsocket.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) commit b65287fea54eea8979914b06ff44adea4bc809cc Author: TingPing Date: Sat Dec 20 18:59:15 2014 -0500 win32: Fix leak in g_win32_get_command_line() https://bugzilla.gnome.org/show_bug.cgi?id=741822 glib/gwin32.c | 1 + 1 file changed, 1 insertion(+) commit 3cc349b04e76880a9d2f3c3d2195d171e110f66c Author: TingPing Date: Sat Dec 20 18:39:00 2014 -0500 win32: Replace usage of __wgetmainargs() It was an internal function that has been removed with VS 2015 Use g_win32_get_command_line() or CommandLineToArgvW() directly. https://bugzilla.gnome.org/show_bug.cgi?id=741822 gio/tests/gio-du.c | 49 ++++++++++++++++------------------------------ glib/gspawn-win32-helper.c | 20 +++---------------- glib/gspawn.c | 9 ++------- 3 files changed, 22 insertions(+), 56 deletions(-) commit be7de8a7fd0883f8514cf8b532ce1c820f7e35fa Author: Arun Raghavan Date: Tue Jul 21 12:09:16 2015 +0530 gdbusconnection: Fix signal subscription documentation https://bugzilla.gnome.org/show_bug.cgi?id=752656 gio/gdbusconnection.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 53d487e31bc41cca9bca147e02e81b69e404fe07 Author: Chun-wei Fan Date: Tue Jul 21 11:26:29 2015 +0800 config.h.win32.in: Clean Up and Update Merge the parts that has things to do with stdint.h and inttypes.h with the !_MSC_VER portions, and add initial support for Visual Studio 2015, which added support for C99 snprintf() and vsnprintf(). Not too sure about the !_MSC_VER for C99 snprintf() and vsnprintf(), but since this file is mainly for Visual Studio builds, anyways... config.h.win32.in | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-)