commit 599c669b23a56d605fc69d96a93a198d27b08b28
Author:     Ryan Lortie <[email protected]>
AuthorDate: Mon Mar 17 17:18:47 2014 -0400
Commit:     Ryan Lortie <[email protected]>
CommitDate: Mon Mar 17 17:18:47 2014 -0400

   GLib 2.39.92

NEWS         | 28 ++++++++++++++++++++++++++++
configure.ac |  2 +-
2 files changed, 29 insertions(+), 1 deletion(-)

commit b0630a37b8310907e5389bb17eb62a7412747345
Author:     Claude Paroz <[email protected]>
AuthorDate: Sat Mar 15 19:45:27 2014 +0000
Commit:     GNOME Translation Robot <[email protected]>
CommitDate: Sat Mar 15 19:45:27 2014 +0000

   Updated French translation

po/fr.po | 2052
++++++++++++++++++++++++++++++++++----------------------------
1 file changed, 1123 insertions(+), 929 deletions(-)

commit 3f119b2fd408fb2e0f4eea07ed9618d2faa749ee
Author:     Ryan Lortie <[email protected]>
AuthorDate: Tue Mar 11 21:41:36 2014 -0400
Commit:     Ryan Lortie <[email protected]>
CommitDate: Fri Mar 14 09:46:39 2014 -0400

   GSettingsBackend: fix a nasty race condition

   In the event that a GSettings object is being destroyed just as
   a change
   signal is being delivered, the destroying thread will race with the
   dconf worker thread for acquiring the lock on the GSettingsBackend.

   If the signalling thread gets there first then the destroying thread
   will block on the lock.  The signalling thread adds a reference to the
   GSettings object that is being destroyed and releases the lock.  The
   idea is that this should prevent the GSettings object from being
   destroyed and thus maintain its entry in the list.  Unfortunately, the
   weak reference notify function is already running and as soon as we
   release the lock, the list entry is removed.

   The signalling thread crashes.

   This bug is indicative of a serious problem encountered in many
   situations where GObject instances are touched from multiple threads.
   Ideally, we will move to a place where g_object_ref() is not called at
   all on the GSettings object from the dconf worker thread and
   instead, a
   dispatch will be done without holding a reference (similar to how
   GAppInfoMonitor presently works).  This would also prevent the
   unfortunate case of someone dropping what they assume to be the last
   reference on a GSettings object, only to have an already-pending
   signal
   delivered once they return to the mainloop, crashing their program.

   Making this change for GSettings (with multiple instances per thread,
   the possibility of multiple backends and each instance being
   interested
   in different events) is going to be extremely non-trivial, so it's
   not a
   change that makes sense at this point in the cycle.

   For now, we can do a relatively small and isolated tweak so that we
   never access the list except under a lock.  We still perform the bad
   pattern of acquiring a ref in a foreign thread which means that
   we still
   risk delivering a signal to a GSettings object that the user has
   assumed
   is dead (unless they explicitly disconnect their signal handler).
   This
   is a problem that we already had, however.

   https://bugzilla.gnome.org/show_bug.cgi?id=710367

gio/gsettingsbackend.c | 44 ++++++++++++++++++++------------------------
1 file changed, 20 insertions(+), 24 deletions(-)

commit 698970f1f70f1821df5ac83ffa6d797fa4579881
Author:     Ryan Lortie <[email protected]>
AuthorDate: Wed Feb 26 17:09:59 2014 -0500
Commit:     Ryan Lortie <[email protected]>
CommitDate: Fri Mar 14 09:46:39 2014 -0400

   gsettingsbackend: a minor simplification

   Change the order of the arguments on the (internal) keys_changed
   callback in
   GSettingsListenerVTable.

   This means that all functions in the table now fit the following
   signature:

     void (* f) (GObject             *target,
                 GSettingsBackend    *backend,
                 const gchar         *name_or_path,
                 gpointer             origin_tag,
                 const gchar * const *names);

   allowing the possibility of arguments ignored at the end.

   This allows us to simplify our dispatch-to-thread code in
   GSettingsBackend,
   making it a bit less generic.

   So far, this should be a straight refactor.

   https://bugzilla.gnome.org/show_bug.cgi?id=710367

gio/gdelayedsettingsbackend.c  |  4 +--
gio/gsettings.c                |  4 +--
gio/gsettingsbackend.c         | 74
++++++++++++++----------------------------
gio/gsettingsbackendinternal.h |  4 +--
4 files changed, 31 insertions(+), 55 deletions(-)

commit 62206576c34d4ea10d43324144db44970c99dd97
Author:     Chun-wei Fan <[email protected]>
AuthorDate: Wed Mar 12 17:26:45 2014 +0800
Commit:     Chun-wei Fan <[email protected]>
CommitDate: Wed Mar 12 17:26:45 2014 +0800

   Update config.h.win32.in

   Make the entries of config.h.win32.in match those that are being
   checked
   in config.h.in.

config.h.win32.in | 36 ++++++++++++++++--------------------
1 file changed, 16 insertions(+), 20 deletions(-)

commit bb43d78aff72d406e64a47d2592919c58152aba3
Author:     Duarte Loreto <[email protected]>
AuthorDate: Wed Mar 12 02:10:55 2014 +0000
Commit:     GNOME Translation Robot <[email protected]>
CommitDate: Wed Mar 12 02:10:55 2014 +0000

   Updated Portuguese translation

po/pt.po | 2040
++++++++++++++++++++++++++++++++++----------------------------
1 file changed, 1121 insertions(+), 919 deletions(-)

commit ffe4e94e3afa16c4e28d6e299f68d8a7ca408b8c
Author:     Ryan Lortie <[email protected]>
AuthorDate: Tue Mar 11 12:19:19 2014 -0400
Commit:     Ryan Lortie <[email protected]>
CommitDate: Tue Mar 11 21:28:58 2014 -0400

   GUnixVolume: implement _finish functions

   The _finish functions for GUnixVolume _mount and _eject functions were
   never implemented, having been simply stubbed out as 'return TRUE;'.

   Implement them.

   https://bugzilla.gnome.org/show_bug.cgi?id=724916

gio/gunixvolume.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

commit 62fa9c578f4ee3f2ca5127961a4609596a4bdaee
Author:     Ryan Lortie <[email protected]>
AuthorDate: Sun Mar 2 21:24:14 2014 -0500
Commit:     Ryan Lortie <[email protected]>
CommitDate: Tue Mar 11 21:28:58 2014 -0400

   GUnixVolume: port to GSubprocess

   Do the same as we just did for GUnixMount, for GUnixVolume too.

   https://bugzilla.gnome.org/show_bug.cgi?id=724916

gio/gunixvolume.c | 174
++++++++++++------------------------------------------
1 file changed, 37 insertions(+), 137 deletions(-)

commit 64ec757d058dae045e275577da8f14f463cc7c44
Author:     Ryan Lortie <[email protected]>
AuthorDate: Sun Mar 2 17:39:11 2014 -0500
Commit:     Ryan Lortie <[email protected]>
CommitDate: Tue Mar 11 21:28:58 2014 -0400

   GUnixMount: port unmount to GSubprocess

   The existing code is buggy and now that we have GSubprocess, we
   should just use
   it instead, allowing for some substantial reduction in complexity.

   https://bugzilla.gnome.org/show_bug.cgi?id=724916

gio/gunixmount.c | 158
+++++++++++--------------------------------------------
1 file changed, 32 insertions(+), 126 deletions(-)

commit cee80dc8c4a1707f8a2e5540540d220f9ca89de2
Author:     Yuri Myasoedov <[email protected]>
AuthorDate: Tue Mar 11 21:21:57 2014 +0400
Commit:     Yuri Myasoedov <[email protected]>
CommitDate: Tue Mar 11 21:21:57 2014 +0400

   Updated Russian translation

po/ru.po | 2957
++++++++++++++++++++++++++++++++++----------------------------
1 file changed, 1624 insertions(+), 1333 deletions(-)

commit 8c78fb827b51aa6e48fa20bac3f1ede4c699dd43
Author:     Lars Uebernickel <[email protected]>
AuthorDate: Mon Mar 10 19:46:23 2014 +0100
Commit:     Lars Uebernickel <[email protected]>
CommitDate: Tue Mar 11 11:47:57 2014 +0100

   glocalfileinfo: don't special-case directory icons

   As of e6af432, g_content_type_get_symbolic_icon() returns non-symbolic
   fallbacks. Thus, we can't append another symbolic icon to the
   fallbacks.

   The special case was a bit of a hack anyway. It was only applied to
   themed icons and there was no generic fallback for mime types that are
   not folders.

   https://bugzilla.gnome.org/show_bug.cgi?id=726046

gio/glocalfileinfo.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)

commit 25f36d8e5efb1312bc684a28158ecfba2dd2ace0
Author:     David King <[email protected]>
AuthorDate: Mon Mar 10 19:16:28 2014 +0000
Commit:     David King <[email protected]>
CommitDate: Mon Mar 10 19:16:28 2014 +0000

   Add g_application_command_line_get_options_dict() to docs

docs/reference/gio/gio-sections.txt | 1 +
1 file changed, 1 insertion(+)

commit a9ac71b50361f035163b7611e06d5b470467d125
Author:     Chao-Hsiung Liao <[email protected]>
AuthorDate: Sun Mar 9 11:39:30 2014 +0800
Commit:     Chao-Hsiung Liao <[email protected]>
CommitDate: Sun Mar 9 11:39:30 2014 +0800

   Updated Traditional Chinese translation(Hong Kong and Taiwan)

po/zh_HK.po | 1759
+++++++++++++++++++++++++++++------------------------------
po/zh_TW.po | 1759
+++++++++++++++++++++++++++++------------------------------
2 files changed, 1736 insertions(+), 1782 deletions(-)

commit 012011538f4513569f92e322c4377efa2cb64378
Author:     Sebastian Dröge <[email protected]>
AuthorDate: Sun Feb 9 23:08:21 2014 +0100
Commit:     Ryan Lortie <[email protected]>
CommitDate: Sat Mar 8 09:01:52 2014 -0500

   gtype – Mark _get_instance_private() function as G_GNUC_UNUSED

   clang likes to complain about it being unused.

   https://bugzilla.gnome.org/show_bug.cgi?id=723899

gobject/gtype.h | 1 +
1 file changed, 1 insertion(+)

commit 1a736f5f51d19904ab82d684674d003b51364c32
Author:     Rūdolfs Mazurs <[email protected]>
AuthorDate: Sat Mar 8 15:58:53 2014 +0200
Commit:     Rūdolfs Mazurs <[email protected]>
CommitDate: Sat Mar 8 15:58:53 2014 +0200

   Updated Latvian translation

po/lv.po | 2101
++++++++++++++++++++++++++++++++++----------------------------
1 file changed, 1168 insertions(+), 933 deletions(-)

commit 0fa3a8dd602fba7149825ec3c030d9ac9e70dd42
Author:     Wylmer Wang <[email protected]>
AuthorDate: Sat Mar 8 12:26:07 2014 +0000
Commit:     GNOME Translation Robot <[email protected]>
CommitDate: Sat Mar 8 12:26:07 2014 +0000

   Updated Chinese (China) translation

po/zh_CN.po | 1709
++++++++++++++++++++++++++++++-----------------------------
1 file changed, 862 insertions(+), 847 deletions(-)

commit 66e2ffe97869e13562b13c51d5dbd3ea1a89bd51
Author:     Ryan Lortie <[email protected]>
AuthorDate: Fri Mar 7 07:41:50 2014 -0500
Commit:     Ryan Lortie <[email protected]>
CommitDate: Fri Mar 7 07:47:14 2014 -0500

   gio tests: add codegen to BUILT_SOURCES

   We need to have these in BUILT_SOURCES so that 'make' knows to
   generate them
   before attempting to compile other .c files in the same directory
   (since some
   of these files include the header).

   Should fix up remaining issues about partial versions of this
   file being
   included under parallel builds.

   https://bugzilla.gnome.org/show_bug.cgi?id=725891

gio/tests/Makefile.am | 1 +
1 file changed, 1 insertion(+)

commit 7a6dfd75d66d274020805b6c770ba683900a3402
Author:     Matthias Clasen <[email protected]>
AuthorDate: Fri Mar 7 06:10:36 2014 -0500
Commit:     Matthias Clasen <[email protected]>
CommitDate: Fri Mar 7 06:10:36 2014 -0500

   GObject: Remove more leftover markup from headers

gobject/gbinding.h    |  2 +-
gobject/gobject.h     | 10 +++++-----
gobject/gparam.h      |  8 ++++----
gobject/gtypemodule.h |  2 +-
gobject/gtypeplugin.h |  5 ++---
5 files changed, 13 insertions(+), 14 deletions(-)

commit fdd7ed94fe7d7427b962c5c0faa66f68b18a3fc1
Author:     Changwoo Ryu <[email protected]>
AuthorDate: Fri Mar 7 02:02:27 2014 +0900
Commit:     Changwoo Ryu <[email protected]>
CommitDate: Fri Mar 7 02:02:27 2014 +0900

   Updated Korean translation

po/ko.po | 2035
++++++++++++++++++++++++++++++++++----------------------------
1 file changed, 1109 insertions(+), 926 deletions(-)

commit d41dad89681837498202743cd8ee63e62a024f4a
Author:     Kjartan Maraas <[email protected]>
AuthorDate: Wed Mar 5 19:24:18 2014 +0100
Commit:     Kjartan Maraas <[email protected]>
CommitDate: Wed Mar 5 19:24:18 2014 +0100

   Updated Norwegian bokmål translation

po/nb.po | 61
++++++++++++++++++++++++++++++-------------------------------
1 file changed, 30 insertions(+), 31 deletions(-)

commit b22f02a94bc4449f1f7741a73e8d4c899b69d627
Author:     Giovanni Campagna <[email protected]>
AuthorDate: Tue Mar 4 15:30:12 2014 +0100
Commit:     Giovanni Campagna <[email protected]>
CommitDate: Wed Mar 5 17:14:14 2014 +0100

   Unskip GVariantDict

   There is no reason to (skip) GVariantDict, it's a boxed type
   and perfectly usable from gobject-introspection.

   https://bugzilla.gnome.org/show_bug.cgi?id=725656

glib/gvariant.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

commit c9cda16a4f607bf9b6498051d2b83aad99e391e4
Author:     Ryan Lortie <[email protected]>
AuthorDate: Wed Mar 5 09:04:00 2014 -0500
Commit:     Ryan Lortie <[email protected]>
CommitDate: Wed Mar 5 09:05:42 2014 -0500

   cond test: remove alarm() usage

   This means that the test can't build on Windows (and we do want
   it there).

   This will be properly resolved with bug 725266, but let's not
   block the
   build before then.

   https://bugzilla.gnome.org/show_bug.cgi?id=724859

glib/tests/cond.c | 5 -----
1 file changed, 5 deletions(-)

commit fd8c1a306725ed7f877c0ec6d5c27f5436c5941f
Author:     Matthias Clasen <[email protected]>
AuthorDate: Tue Mar 4 20:20:52 2014 -0500
Commit:     Matthias Clasen <[email protected]>
CommitDate: Tue Mar 4 20:20:52 2014 -0500

   Work around gtk-doc problems

   Returns shall never be at the beginning of a line.

gio/gsubprocess.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

commit 2b11af4f1f336f8e7fda26045fe76375176c8a17
Author:     Ryan Lortie <[email protected]>
AuthorDate: Tue Mar 4 09:08:24 2014 -0500
Commit:     Ryan Lortie <[email protected]>
CommitDate: Tue Mar 4 09:08:24 2014 -0500

   gsubprocess: test environment a bit more

   Add a test for GSubprocess to test setting, unsetting and inheritance
   of
   environment variables.  Use communicate() to give it a bit more of a
   workout as well.

   https://bugzilla.gnome.org/show_bug.cgi?id=725651

gio/tests/gsubprocess-testprog.c | 18 ++++++++++++++++++
gio/tests/gsubprocess.c          | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 53 insertions(+)

commit e767204e0e8108df66893e23209b22b041be893d
Author:     Ryan Lortie <[email protected]>
AuthorDate: Tue Mar 4 08:55:00 2014 -0500
Commit:     Ryan Lortie <[email protected]>
CommitDate: Tue Mar 4 08:55:00 2014 -0500

   GSubprocessLauncher: don't get empty environment

   Use g_get_environ() to get the environment variables with their values
   instead of g_listenv() which only lists off the keys.

   https://bugzilla.gnome.org/show_bug.cgi?id=725651

gio/gsubprocesslauncher.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

commit 9da88a12c52f122e1e2b8faaed6c95ec1bcef104
Author:     Ryan Lortie <[email protected]>
AuthorDate: Mon Mar 3 21:25:16 2014 -0500
Commit:     Ryan Lortie <[email protected]>
CommitDate: Mon Mar 3 21:26:24 2014 -0500

   gsubprocess: test empty splices

   Make sure we handle the case that our splice returns no data properly.

   https://bugzilla.gnome.org/show_bug.cgi?id=724916

gio/tests/gsubprocess.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

commit 9f71965becd919a736cb57bbd3501b22e6341fa7
Author:     Ryan Lortie <[email protected]>
AuthorDate: Sun Mar 2 21:01:12 2014 -0500
Commit:     Ryan Lortie <[email protected]>
CommitDate: Mon Mar 3 21:26:24 2014 -0500

   gsubprocess: fix communicate() with empty buffers

   On the splice for stdout or stderr completing, GSubprocess calls
   _slice_finish() to collect the result.

   We assume that a zero return value here means failure, but in
   fact this
   function returns a gssize -- the number of bytes transferred, or
   -1 for
   an error.

   This causes GSubprocess to mistakenly think that it has an error
   when it
   actually just has an empty buffer (as would be the case when
   collecting
   stderr from a successful command).

   Check for -1 instead of FALSE to detect the error.

   https://bugzilla.gnome.org/show_bug.cgi?id=724916

gio/gsubprocess.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)