commit 7651ce2ee46ee94c3c5c25d3c30592c6ad8f23ca Author: Matthias Clasen Date: Mon Apr 24 13:15:45 2017 -0400 2.53.1 NEWS | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 61 insertions(+), 1 deletion(-) commit 281e30103697958dff89e2f4a561d92871da9d65 Author: Philip Withnall Date: Mon Apr 24 21:38:59 2017 +0100 gmain: Allow GSource methods to be called from a finalize() callback Temporarily increase the ref count of a GSource to 1 while calling its finalize() callback, so that the finalize() implementation can call GSource methods (like g_source_set_ready_time()) without causing critical warnings. It’s safe to call those methods at this point, as the source has been destroyed, but nothing has been freed. This is an indirect way of fixing a race between GCancellable and GCancellableSource, whereby the GCancellable::cancelled callback for the GCancellableSource is not disconnected until the GCancellableSource’s finalize() function is called. Previously, this meant there was a window in which the GCancellableSource’s ref count was 0, but the ::cancelled callback was still connected, and could legitimately be called as a result of another thread calling g_cancellable_cancel() on the GCancellable. The callback calls g_source_set_ready_time() on the GSource, and there’s no thread-safe way of checking whether the GSource has been destroyed. Instead, we have to change GSource so its ref count is only decremented to 0 inside the locked section in g_source_unref_internal() *after* the finalize() function has been called, and hence after the GCancellable::cancelled callback has been disconnected. The use of g_cancellable_disconnect() ensures that the callback disconnection is thread safe. Signed-off-by: Philip Withnall https://bugzilla.gnome.org/show_bug.cgi?id=781601 glib/gmain.c | 4 ++++ glib/gmain.h | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) commit 09762ac4d6374edc51215d970d584dd8b9a6c745 Author: Aurimas Černius Date: Mon Apr 24 23:14:54 2017 +0300 Updated Lithuanian translation po/lt.po | 645 ++++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 349 insertions(+), 296 deletions(-) commit 725d0053c065bf3b5af52cad664f9bbe7253146f Author: Florian Heiser Date: Sat Apr 22 02:03:46 2017 +0000 Update German translation po/de.po | 617 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 325 insertions(+), 292 deletions(-) commit 3362bf7a40abbf8911e3cefa4dad50352e7ba574 Author: Jordi Mas Date: Wed Apr 19 22:53:43 2017 +0200 Update Catalan translation po/ca.po | 144 +++++++++++++++++++++++++++------------------------------------ 1 file changed, 62 insertions(+), 82 deletions(-) commit 4a444d48e2bcf9323fcc5b5556cc5c9a2f455e33 Author: Andika Triwidada Date: Tue Apr 18 11:06:47 2017 +0000 Update Indonesian translation po/id.po | 646 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 337 insertions(+), 309 deletions(-) commit e8487812b9782b6a01e8de9990593558394f4087 Author: Philip Withnall Date: Tue Apr 18 11:58:28 2017 +0100 gmessages: Fix documentation formatting glib/gmessages.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 7641cf29e32dc8c58adf1829e57b8ebeba07dae8 Author: John Lindgren Date: Thu Apr 13 22:31:29 2017 -0400 Do not mix declarations with code. https://bugzilla.gnome.org/show_bug.cgi?id=781298 glib/gfileutils.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit c19259526825a7eaf1a3faf64df1690e53a4b5cd Author: Philip Withnall Date: Thu Apr 13 10:24:32 2017 +0100 ginputstream: Add missing (transfer full) annotation to read_bytes() gio/ginputstream.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 8446ee8c2039f233c084f0321f52f664941e4186 Author: Philip Withnall Date: Thu Apr 13 10:24:11 2017 +0100 ginputstream: Add missing (out) annotations to read() functions https://bugzilla.gnome.org/show_bug.cgi?id=781234 gio/ginputstream.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) commit 8c4a6fdbf5a699b0590f0ee7ff88b4fe00a59ae9 Author: Philip Withnall Date: Thu Apr 13 10:23:50 2017 +0100 gio: Fix some typos of ‘asynchronous’ in documentation comments gio/ginputstream.c | 4 ++-- gio/gtlsinteraction.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) commit 9ba95e25b74adf8d62effeaf6567074ac932811c Author: Paolo Bonzini Date: Tue Apr 4 09:56:47 2017 +0200 gmain: only signal GWakeup right before or during a blocking poll Since commit e4ee307 ("Do not wake up main loop if change is from same thread", bug 761102), GMainContext uses context->owner to decide if the event loop is being run in the current thread. However, what really matters is the phase in the prepare/query/poll/check/dispatch sequence. Wakeups are only needed between the end of prepare and the end of poll, and then only if prepare found that no sources were ready. There is no need to take threads into account, because prepare, check and all callers of conditional_wakeup all look at the new need_wakeup flag inside LOCK_CONTEXT/UNLOCK_CONTEXT. With this change, g_main_context_is_owner and g_main_context_wait are the only functions for which acquire/release matters, just like before commit e4ee307. Signed-off-by: Paolo Bonzini glib/gmain.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) commit 0c0469b56d7e6b2533760d5d821076c88b05dfb0 Author: Paolo Bonzini Date: Mon Apr 3 13:32:32 2017 -0400 gmain: Signal wakeups if context has never been acquired as well Should address backwards compatibility with how qemu is using `GMainContext`. See https://bugzilla.gnome.org/show_bug.cgi?id=761102#c14 Input-into-keyboard-by: Colin Walters glib/gmain.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit 3d7534eae5e5421573e1f7cf76f6339cffeb903d Author: Víctor Manuel Jáquez Leal Date: Mon Apr 10 13:00:44 2017 +0200 gio-tool: Fix errors format string Compiling with clang 3.8.1-18 (debian, x86_64) I ran across this error: gio-tool.c:40:31: error: format string is not a string literal [-Werror,-Wformat-nonliteral] message = g_strdup_vprintf (format, args); ^~~~~~ gio-tool.c:55:31: error: format string is not a string literal [-Werror,-Wformat-nonliteral] message = g_strdup_vprintf (format, args); ^~~~~~ 2 errors generated. To fix the first one, related with the function print_error(), this patch adds to the function prototype a compiler's attribute. For the second one, since the usage of that function is to print one string and the format is already provided, the patch simplifies the function by no receiving variadic arguments. https://bugzilla.gnome.org/show_bug.cgi?id=781125 gio/gio-tool-rename.c | 2 +- gio/gio-tool-save.c | 6 +++--- gio/gio-tool-set.c | 2 +- gio/gio-tool.c | 12 ++---------- gio/gio-tool.h | 5 ++--- 5 files changed, 9 insertions(+), 18 deletions(-) commit 77d00030e59b123c1e5eef708eacd4cf685253c3 Author: Piotr Drąg Date: Mon Apr 10 15:40:42 2017 +0200 gio-tool: Fix closing Unicode quotation mark See https://developer.gnome.org/hig/stable/typography.html https://bugzilla.gnome.org/show_bug.cgi?id=772221 gio/gio-tool-set.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f952fdf3fcb00946317ecb2672e9d2c99c74c7a3 Author: Emmanuele Bassi Date: Fri Oct 17 11:54:02 2014 +0100 Drop trailing semi-colon from G_DEFINE_ macro It's unnecessary, and only adds visual noise; we have been fairly inconsistent in the past, but the semi-colon-less version clearly dominates in the code base. https://bugzilla.gnome.org/show_bug.cgi?id=669355 docs/reference/gobject/tut_gtype.xml | 4 ++-- docs/reference/gobject/tut_howto.xml | 4 ++-- gio/gcredentials.c | 2 +- gio/gdbus-2.0/codegen/codegen.py | 18 +++++++++--------- gio/gdbusauthobserver.c | 2 +- gio/gdbusdaemon.c | 2 +- gio/gdbusintrospection.c | 16 +++++++++------- gio/gdbusmessage.c | 2 +- gio/gdbusmethodinvocation.c | 2 +- gio/gdbusobjectmanagerclient.c | 2 +- gio/gdbusserver.c | 3 +-- gio/gdtlsconnection.c | 2 +- gio/gdummytlsbackend.c | 14 +++++++------- gio/gfileinfo.c | 2 +- gio/gfilenamecompleter.c | 2 +- gio/giomodule.c | 4 ++-- gio/glistmodel.c | 2 +- gio/glocalfileenumerator.c | 2 +- gio/glocalfileiostream.c | 2 +- gio/gnativevolumemonitor.c | 2 +- gio/gnotification.c | 2 +- gio/gnotificationbackend.c | 2 +- gio/gresourcefile.c | 4 ++-- gio/gsocketaddressenumerator.c | 2 +- gio/gsocketcontrolmessage.c | 4 +--- gio/gsubprocess.c | 2 +- gio/gsubprocesslauncher.c | 2 +- gio/gtlsbackend.c | 2 +- gio/gtlscertificate.c | 2 +- gio/gtlsdatabase.c | 2 +- gio/gunionvolumemonitor.c | 2 +- gio/gunixmounts.c | 2 +- gio/gvfs.c | 2 +- gio/gvolumemonitor.c | 2 +- gio/tests/filter-streams.c | 4 ++-- gio/tests/gdbus-bz627724.c | 2 +- gio/tests/gdbus-example-export.c | 2 +- gio/tests/gdbus-example-proxy-subclass.c | 2 +- gio/tests/gdbus-peer-object-manager.c | 2 +- gio/tests/gmenumodel.c | 4 ++-- gio/tests/gnotification-server.c | 2 +- gio/tests/gtesttlsbackend.c | 10 +++++----- gio/tests/gtlsconsoleinteraction.c | 2 +- gio/tests/socket-service.c | 2 +- gio/tests/tls-interaction.c | 2 +- gio/win32/gwinhttpfileinputstream.c | 2 +- gio/win32/gwinhttpfileoutputstream.c | 2 +- gobject/gbinding.c | 2 +- gobject/gboxed.c | 6 +++--- gobject/gobject.c | 2 +- gobject/tests/binding.c | 4 ++-- gobject/tests/dynamictests.c | 2 +- gobject/tests/param.c | 6 +++--- gobject/tests/properties.c | 2 +- gobject/tests/threadtests.c | 23 ++++++++++------------- tests/gobject/performance.c | 18 ++++++------------ tests/gobject/references.c | 2 +- tests/gobject/singleton.c | 2 +- tests/refcount/closures.c | 2 +- tests/refcount/properties3.c | 2 +- tests/refcount/properties4.c | 2 +- 61 files changed, 112 insertions(+), 122 deletions(-) commit fb7d2184a616553fdc1881fe52ebe2a3c7748280 Author: Ondrej Holy Date: Mon Dec 19 12:11:13 2016 +0100 gio-tool: Do not leak GOptionContext GOptionContext is freed only in case of success. Free the context also in case of failure. https://bugzilla.gnome.org/show_bug.cgi?id=776169 gio/gio-tool-cat.c | 3 +++ gio/gio-tool-copy.c | 5 +++++ gio/gio-tool-info.c | 3 +++ gio/gio-tool-list.c | 2 ++ gio/gio-tool-mime.c | 3 +++ gio/gio-tool-mkdir.c | 3 +++ gio/gio-tool-monitor.c | 3 +++ gio/gio-tool-mount.c | 2 ++ gio/gio-tool-move.c | 4 ++++ gio/gio-tool-open.c | 3 +++ gio/gio-tool-remove.c | 3 +++ gio/gio-tool-rename.c | 4 ++++ gio/gio-tool-save.c | 4 ++++ gio/gio-tool-set.c | 6 ++++++ gio/gio-tool-trash.c | 2 ++ gio/gio-tool-tree.c | 2 ++ 16 files changed, 52 insertions(+) commit 292f10d053c92d8908ef2d862ecb7672f0e0765a Author: Ondrej Holy Date: Mon Dec 19 10:27:04 2016 +0100 gio-tool: Add g_drive_is_removable() support The g_drive_is_removable() support was added recently in gio/gvfs (see Bug 765900 and Bug 765457). It was also added in gvfs-mount, but we forgot to add it also in gio-tool-mount. https://bugzilla.gnome.org/show_bug.cgi?id=776169 gio/gio-tool-mount.c | 1 + 1 file changed, 1 insertion(+) commit 094613425ee949def2bcac83dcda3eee8b6856df Author: Ondrej Holy Date: Fri Dec 16 14:43:57 2016 +0100 gio-tool: Return error if there are not any volumes to mount Print error and return error code if device doesn't contain any volumes to mount. https://bugzilla.gnome.org/show_bug.cgi?id=776169 gio/gio-tool-mount.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit bcb1bfda52a8c650c19c419e247ccfac9451640a Author: Ondrej Holy Date: Fri Dec 16 14:36:53 2016 +0100 gio-tool: Do not print settable arguments unless they are any "Settable arguments:" is printed even if they are not any arguments to print. Do not print it similarly as it is done for "Writable namespaces:". https://bugzilla.gnome.org/show_bug.cgi?id=776169 gio/gio-tool-info.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) commit bde2bde41155cf4f60daea4c1cb60e3fc30e2d0d Author: Ondrej Holy Date: Fri Dec 16 14:35:55 2016 +0100 gio-tool: Various memory leak fixes https://bugzilla.gnome.org/show_bug.cgi?id=776169 gio/gio-tool-info.c | 1 + gio/gio-tool-monitor.c | 2 ++ gio/gio-tool-set.c | 7 +++++-- 3 files changed, 8 insertions(+), 2 deletions(-) commit 0beeeb2ec9f2a934fee8c7aa40c4d4c415d0d187 Author: Ondrej Holy Date: Fri Dec 16 14:32:29 2016 +0100 gio-tool: Various fixes related to error messages This patch contains the following changes: - Print all errors with "gio: " prefix - Print file uri in error for each tool allowing multiple locations - Mark all error messages translatable - Do not leak strings used in error messages - Always start error messages with capital letter - Unify some error messages across various tools - Fix addional/missing new line characters https://bugzilla.gnome.org/show_bug.cgi?id=776169 gio/gio-tool-cat.c | 4 ++-- gio/gio-tool-info.c | 6 +++--- gio/gio-tool-mime.c | 6 +++--- gio/gio-tool-monitor.c | 20 +++++++------------- gio/gio-tool-mount.c | 48 ++++++++++++++++++++++++++++-------------------- gio/gio-tool-open.c | 2 +- gio/gio-tool-remove.c | 2 +- gio/gio-tool-rename.c | 2 +- gio/gio-tool-save.c | 6 +++--- gio/gio-tool-set.c | 4 ++-- gio/gio-tool.c | 30 ++++++++++++++++++++++++++++-- gio/gio-tool.h | 5 ++++- 12 files changed, 83 insertions(+), 52 deletions(-) commit a83ccc535f73128fe4880d19d34375f9fdcd5113 Author: Tim-Philipp Müller Date: Tue Apr 4 17:18:35 2017 +0100 gobject: remove duplicate GType sanity check This is going to be checked again by g_object_new_with_properties() and g_object_new_valist() anyway, so might just as well leave it to those functions to do the check and only do it once. It doesn't matter which function emits the critical warning in the end either, as one has to look at a stack trace to find out what code triggered it in any case. https://bugzilla.gnome.org/show_bug.cgi?id=780908 gobject/gobject.c | 2 -- 1 file changed, 2 deletions(-) commit a5b58da6bf3bb21cbd3d030a369aad330f90f891