commit 1a78bea7cac2f49815b2a57039b27dc9993f6d1e Author: Matthias Clasen Date: Mon Jul 29 17:18:06 2013 -0400 2.37.5 NEWS | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) commit 7a31a5010c548237bb107f2bf6a73d336f374bb2 Author: Ryan Lortie Date: Mon Jul 29 17:15:19 2013 -0400 GMenuModel: add annotations to virtual functions Patch from Ted Gould. https://bugzilla.gnome.org/show_bug.cgi?id=704931 gio/gmenumodel.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit 9551a811981d14f897d100508dbcff07db1fc503 Author: Sébastien Wilmet Date: Mon Jul 29 17:29:05 2013 +0200 Fix G_ADD_PRIVATE_DYNAMIC() gobject/gtypemodule.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d0b4f59e8cffc9da8d6e2a856687d34ed2765c3a Author: Chun-wei Fan Date: Fri Jul 19 19:10:41 2013 +0800 Add MSVC implementations of G_GNUC_*_IGNORE_DEPRECATIONS As Visual Studio 2008 and later have support for the __pragma keyword, where the compiler pragmas can be used in a macro, we can support G_GNUC_BEGIN_IGNORE_DEPRECATIONS and G_GNUC_END_IGNORE_DEPRECATIONS for Visual Studio 2008 and later, so many deprecation (C4996) warnings can be suppressed when using these compilers when we use these macros in the code. https://bugzilla.gnome.org/show_bug.cgi?id=704543 glib/gmacros.h | 6 ++++++ 1 file changed, 6 insertions(+) commit 90da4ed628cf9e311c4730d529b5d53159035676 Author: Matthias Clasen Date: Sun Jul 28 22:06:57 2013 -0400 Trivial typo fix gobject/gsignal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3bdd8a2c882ed3cd8d7aab48d2f3180a543d21a2 Author: Matthias Clasen Date: Sun Jul 28 18:44:41 2013 -0400 Use GLIB_PRIVATE_CALL macro I accidentally pushed the fix for bug 704873 before applying this cleanup. gio/inotify/inotify-kernel.c | 6 +++--- gio/inotify/inotify-missing.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) commit d9359765acea796473ec9de328d023e5bdc7e96a Author: Matthias Clasen Date: Sun Jul 28 18:39:51 2013 -0400 Use better assertion macros Use g_assert_cmpint and friends in the convert test, to get more telling messages when they fail. glib/tests/convert.c | 132 +++++++++++++++++++++++++-------------------------- 1 file changed, 66 insertions(+), 66 deletions(-) commit 39460701d4ed32e1c437358875280a410fe8b82f Author: Matthias Clasen Date: Sun Jul 28 18:39:42 2013 -0400 Avoid an unused variable warning glib/tests/unix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 331e93c3f1ad95cb4add48213613e8eeee8cb386 Author: Colin Walters Date: Sun Jul 28 00:21:00 2013 +0100 Drop iconv caching code This was introduced for Solaris performance theoretically; we have never been able to use it on Linux/glibc because the UTF-16 BOM state isn't reset. We have no data about Solaris performance; were some to still exist, we could reintroduce the code with an explicit check for Solaris, not a check for glibc. https://bugzilla.gnome.org/show_bug.cgi?id=704999 configure.ac | 27 ------ glib/gconvert.c | 297 -------------------------------------------------------- 2 files changed, 324 deletions(-) commit abbb22573813405215c11bff9fb6b110880fd711 Author: Ryan Lortie Date: Thu Jul 25 10:28:42 2013 -0400 inotify: don't assume mainloop is running GFileMonitor takes great care to sample the thread-default main context at the time that it is created in order that events can be dispatched to the correct thread when they come in. The inotify GFileMonitor implementation uses a global file descriptor shared between all watches. It has to poll this file descriptor from somewhere so it arbitrarily picks the default main context. The problem with that is that the user might not be running it. Let's use the GLib worker thread for this instead. It's guaranteed to be running if you need it, and this is exactly the sort of problem it was meant to solve. https://bugzilla.gnome.org/show_bug.cgi?id=704873 gio/inotify/inotify-kernel.c | 20 ++++++++++++++++---- gio/inotify/inotify-missing.c | 8 +++++++- 2 files changed, 23 insertions(+), 5 deletions(-) commit 5843582604c9b1b0d459dc7f15182c966d112d9e Author: Matthias Clasen Date: Sun Jul 28 17:04:56 2013 -0400 Fix build with statvfs As pointed out in bug 704587, the maze of ifdefs was missing the variable declaration for statfs_result in one case. https://bugzilla.gnome.org/show_bug.cgi?id=704587 gio/glocalfile.c | 1 + 1 file changed, 1 insertion(+) commit 023e3b31a5352460f415944e166d413c2c747886 Author: Rico Tzschichholz Date: Sat Jul 27 09:02:58 2013 +0200 Fix a typo Introduced by 3b01cbe8a8a9ee2d1169f072624069877b91097c gobject/gtype.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ca6b93d0936e6864d374d3e8f2a795c1702b28b3 Author: Emmanuele Bassi Date: Fri Jul 26 16:45:48 2013 +0100 Add macros and symbols for private data on dynamic types We need a TypeName_private_offset variable defined by the macros used to register dynamic types. We also need to call the adjust_private_offset() function inside class_init(). G_ADD_PRIVATE_DYNAMIC only sets the size of the private data structure, and relies on the behaviour of the g_type_class_adjuset_private_offset() function to register the private data structure at class init time if passed a value greater than zero. This allows using G_PRIVATE_OFFSET with dynamic types. gobject/gtypemodule.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) commit d2bb019533bbcbd1cee3891822ac7ba6ff55ad3d Author: Colin Walters Date: Fri Jul 26 12:39:51 2013 +0100 configure: Use AC_USE_SYSTEM_EXTENSIONS ...instead of detecting glibc and using _GNU_SOURCE manually. This should fix the build when using glibc-emulating libraries; we can defer portability work to autoconf. https://bugzilla.gnome.org/show_bug.cgi?id=684123 configure.ac | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit 3b01cbe8a8a9ee2d1169f072624069877b91097c Author: Matthias Clasen Date: Fri Jul 26 14:40:10 2013 -0400 Document restrictions on private names With the new machinery, private structs must be named TypeNamePrivate if TypeName is the name of the instance struct. gobject/gtype.h | 6 ++++++ 1 file changed, 6 insertions(+) commit 40f56d9d351f36d3ba2d4797c8f65caa38c78488 Author: Sweta Kothari Date: Fri Jul 26 14:50:22 2013 +0530 updated Gujarati translations po/gu.po | 574 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 290 insertions(+), 284 deletions(-) commit dc2d3f77811c1247f8c46030557e4f76804bdf9e Author: Nilamdyuti Goswami Date: Thu Jul 25 13:18:58 2013 +0530 Assamese translation updated po/as.po | 495 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 247 insertions(+), 248 deletions(-) commit 2127654da5ec64db93653e7b0ac02b0b17abe191 Author: Dan Winship Date: Wed Jul 24 10:02:38 2013 -0400 mainloop: redo child source tests to not use timeouts The timeout-based tests could fail on slow or heavily-loaded machines. Change them to use a counter-based "timeout" source rather than a time-based one, so they no longer depend on wall time. https://bugzilla.gnome.org/show_bug.cgi?id=700460 glib/tests/mainloop.c | 109 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 89 insertions(+), 20 deletions(-) commit 8c748efce1b441cf8aa05f22a24c27a940a29cf7 Author: Dan Winship Date: Wed Jul 24 10:45:36 2013 -0400 gnetworkaddress: tweak to make Solaris happy https://bugzilla.gnome.org/show_bug.cgi?id=704704 gio/gnetworkaddress.c | 1 + 1 file changed, 1 insertion(+) commit 5a287a0be58c7b54208143367e3d6e011f961544 Author: Shantha kumar Date: Wed Jul 24 14:57:30 2013 +0530 Tamil Translation Updated po/ta.po | 637 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 317 insertions(+), 320 deletions(-) commit baf7f1e23e4c924049e75fe11ea029846c03706d Author: Colin Walters Date: Mon Jul 22 19:31:35 2013 +0100 tests/unix: Don't error immediately on timeout On a heavily loaded system, it's possible that both our normal condition *and* the timeout occurred. In that case we can just ignore the timeout. While I did add a "sig_timeout" boolean, we don't need to add any assertions around whether or not it was reached - the assertions covering the non-timeout case are sufficient. The sig_timeout boolean is mainly for later debugging. https://bugzilla.gnome.org/show_bug.cgi?id=700460 glib/tests/unix.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) commit 2e471acfcabef4bbf50ce29dc9cd157263e646f0 Author: Colin Walters Date: Mon Jul 22 19:06:31 2013 +0100 gmain: Reset signal handlers to default when source is destroyed If someone creates a unix signal source for e.g. SIGINT, and then removes it, reset the handler to SIG_DFL. Not doing this was the source of race conditions in the glib/tests/unix test, but this will also just make us a "good citizen" by cleaning up. For example, if a project temporarily creates a handler for SIGTERM, and then later removes it, they almost certainly want SIGTERM to revert to the default of terminating the process, rather than doing nothing. https://bugzilla.gnome.org/show_bug.cgi?id=704699 glib/gmain.c | 51 +++++++++++++++++++++++++++++++-------------------- glib/tests/unix.c | 11 ++++------- 2 files changed, 35 insertions(+), 27 deletions(-) commit 6fbb1463429748bed7ab6593779430ee1c0664f5 Author: Sébastien Wilmet Date: Mon Jul 15 13:52:14 2013 +0200 GRegex: add g_regex_get_max_lookbehind() It is useful for multi-segment regex matching. A unit test is included. https://bugzilla.gnome.org/show_bug.cgi?id=689794 docs/reference/glib/glib-sections.txt | 1 + glib/gregex.c | 23 +++++++++++++++++++++++ glib/gregex.h | 2 ++ glib/tests/regex.c | 19 +++++++++++++++++++ 4 files changed, 45 insertions(+) commit d9e01e0c37eb7928a99aeaa3d51007198991928d Author: Colin Walters Date: Mon Jul 22 15:11:13 2013 +0100 tests/closure: Send SIGUSR1 only to our pid Otherwise in e.g. the gnome-ostree integrationtest system, we end up sending SIGUSR1 to the *entire session*, which triggers various badness in untested debugging paths from gnome-session. gobject/tests/closure.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 00f5c63621d8a0e67562deaf529b6a9c9362e2d7 Author: Colin Walters Date: Mon Jul 22 12:51:00 2013 +0100 tests/closure: Use correct prototype for signal callback This test worked when compiled without optimization, but fails with -O2. Presumably we just happened to find the GMainLoop off the stack somewhere. https://bugzilla.gnome.org/show_bug.cgi?id=704267 gobject/tests/closure.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit a65a85a4fd334a2dbd6739955aa652efc83a360f Author: Daniel Mustieles Date: Mon Jul 22 13:48:58 2013 +0200 Updated Spanish translation po/es.po | 549 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 276 insertions(+), 273 deletions(-) commit 64041ca498a6115eb3a6f32c0fb2a3bec3c9fd88 Author: Milan Crha Date: Mon Jul 22 09:54:33 2013 +0200 g_thread_create_full() can dereference NULL pointer In case of the thread creation failure, and the thread was not created as joinable, the g_thread_create_full() could dereference a NULL pointer. https://bugzilla.gnome.org/show_bug.cgi?id=704523 glib/deprecated/gthread-deprecated.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 114b1ccf78849988567011c36dd5e868a66a3431 Author: Chun-wei Fan Date: Thu Jul 18 17:22:53 2013 +0800 gsourceclosure.c: Fix build on Windows GPid is a HANDLE (aka void *) on Windows, not an int, so treat pid accordingly on Windows, as using pid as a gulong directly would likely be undesirable on Windows https://bugzilla.gnome.org/show_bug.cgi?id=704447 gobject/gsourceclosure.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 88ab63155de12a995c53711c65cc25026912171e Author: Dan Winship Date: Thu Jul 18 08:11:35 2013 -0400 gobject/tests/closure: fix on win32 (The g_closure_unref() was wrong, but was not causing errors on linux for some reason.) https://bugzilla.gnome.org/show_bug.cgi?id=704447 gobject/tests/closure.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 35e331b86912813a7d18b0ca3fb951f5759c11e8 Author: Colin Walters Date: Sun Jul 21 19:42:34 2013 +0100 tests/closure: Fix invalid unref The closure is floating, g_source_set_closure() will claim the ref, so we do not need to unref it. gobject/tests/closure.c | 1 - 1 file changed, 1 deletion(-) commit 1543baddee0b18531325aa9728529777c38c94d7 Author: Marek Černocký Date: Sun Jul 21 11:00:38 2013 +0200 Updated Czech translation po/cs.po | 454 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 230 insertions(+), 224 deletions(-) commit 4f327d6379c3eb8f9dcd5127349c06f1d34b1155 Author: Sébastien Wilmet Date: Fri Jul 12 16:44:13 2013 +0200 GRegex: update documentation for partial matching The restrictions on partial matching no longer apply with PCRE >= 8.00. The pcrepartial manpage contains the "FORMERLY RESTRICTED PATTERNS" section: "For releases of PCRE prior to 8.00, because of the way certain internal optimizations were implemented in the pcre_exec() function, the PCRE_PARTIAL option (predecessor of PCRE_PARTIAL_SOFT) could not be used with all patterns. From release 8.00 onwards, the restrictions no longer apply, and partial matching with can be requested for any pattern." https://bugzilla.gnome.org/show_bug.cgi?id=704250 glib/gregex.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) commit b3968fb1501bb2950e6c15aad95083e6f01973ba Author: Sébastien Wilmet Date: Fri Jul 5 13:23:11 2013 +0200 Improve documentation - Mention G_SOURCE_CONTINUE and G_SOURCE_REMOVE in the GSourceFunc doc; - Mention G_PARAM_READWRITE and G_PARAM_STATIC_STRINGS in the GParamFlags doc; - Fix "Since:" version for G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE; - Fix typo. https://bugzilla.gnome.org/show_bug.cgi?id=704250 glib/gmain.h | 3 ++- glib/gregex.h | 2 +- gobject/gparam.h | 2 +- gobject/gtype.h | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) commit 8753df9d700dcc132f77432d76863884ab21fa87 Author: Matthias Clasen Date: Fri Jul 19 19:41:24 2013 -0400 gsettings tool: report failure to write If a key is locked down, we should report an error if we fail to write it. https://bugzilla.gnome.org/show_bug.cgi?id=704424 gio/gsettings-tool.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit dc87c453fbdcf568990c0e7587fa4607f5e148b9 Author: Igor Pashev Date: Fri Jul 19 18:23:29 2013 -0400 tests/gvariant: Canonicalize to lower case to work on Illumos (OpenSolaris) Solaris libc gives lowercase strings. https://bugzilla.gnome.org/show_bug.cgi?id=704585 glib/tests/gvariant.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 31aee73285729b1d0d2210cb728b4b2d52711678 Author: Colin Walters Date: Fri Jul 19 11:50:35 2013 -0400 gdbusnameowning: Don't spew an error if we're releasing a name due to closing The default GNOME 3.10 login process right now has gdm spawn a session for the login screen, retaining the X server, but closing the session bus. Right now in this scenario many GNOME components such as gnome-settings-daemon attempt to "clean up" on shutdown by releasing their owned names. But they're shutting down because the session bus went away, so releasing the name is pointless, and presently spews an error into the journal. This patch avoids that error spew, which helps system administrators find *real* problems. https://bugzilla.gnome.org/show_bug.cgi?id=704567 gio/gdbusnameowning.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit be2c7b83c4a9c9d3aa76b1499c27ab19e0f4e470 Author: Giovanni Campagna Date: Tue Jul 16 15:26:02 2013 +0200 glib-unix: fix handling of multiple signal source for the same signal We can't reset the pending flag for a signal until we've traversed the whole list, as the documentation clearly says that in case multiple sources they all get invoked. This is still racy if you get a signal after checking the flag but before resetting it, but it was the same before. The correct fix would be to use sigwait() or signalfd(), but that would mean blocking all signals in all threads, which is not compatible with existing applications. https://bugzilla.gnome.org/show_bug.cgi?id=704322 glib/gmain.c | 6 ++--- glib/tests/unix.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 71 insertions(+), 5 deletions(-) commit 72a7e824d65b725a5f64224ee274fe5e3d7933fc Author: Dan Winship Date: Wed Jul 17 18:58:18 2013 -0400 gsourceclosure: fix idle/timeout/signal closures, add child watch support And add a test for all source types. https://bugzilla.gnome.org/show_bug.cgi?id=704267 gobject/gsourceclosure.c | 69 +++++++++++++++- gobject/tests/.gitignore | 1 + gobject/tests/Makefile.am | 1 + gobject/tests/closure.c | 202 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 270 insertions(+), 3 deletions(-) commit d06400cbaf4d3f6741a463668b2c8a56f695d124 Author: Chun-wei Fan Date: Wed Jul 17 16:54:35 2013 +0800 Visual Studio Builds: Update property sheets "Install" the newly-introduced gpropertyaction.h header file, which is required for GIO. build/win32/vs10/glib.props | 2 ++ build/win32/vs9/glib.vsprops | 1 + 2 files changed, 3 insertions(+) commit 95f7dc949135181dcefd69e6773f1488c02a79a9 Author: Chun-wei Fan Date: Wed Jul 17 16:45:50 2013 +0800 Visual Studio Builds: "Install" gdbus-codegen build/win32/vs10/glib.props | 7 +++++++ build/win32/vs9/glib.vsprops | 4 ++++ 2 files changed, 11 insertions(+) commit 371fb88362f372644bc1503594f8885ffd65f52e Author: Matthias Clasen Date: Tue Jul 16 19:21:31 2013 -0400 gsettings tool: Improve documentation Mention that gsettings needs a session bus to make changes. docs/reference/gio/gsettings.xml | 4 ++++ 1 file changed, 4 insertions(+) commit 8ead9055b9139a8e8849e8d34ba0bd4b245618db Author: Ryan Lortie Date: Sun Jul 14 17:11:59 2013 -0400 GApplication: reply to ActivateAction Send a reply for org.freedesktop.Application.ActivateAction calls. We missed this before because nobody was waiting for it. gio/gapplicationimpl-dbus.c | 2 ++ 1 file changed, 2 insertions(+) commit 06b968b6db73c88e16a791328be1ba57fe287d6a Author: Matthias Clasen Date: Sun Jul 14 11:35:56 2013 -0400 Make a test desktop file a little less invalid Add a missing Name entry, and add a terminal ; to the Actions entry in org.gtk.test.dbusappinfo.desktop. desktop-file-validate still contains about the DBusActivatable entry and about the missing Exec entries. The former will go away when desktop-file-validate gets updated for the latest spec revision. gio/tests/org.gtk.test.dbusappinfo.desktop | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit ff68fca9e9fc7b534af86f2928d80830b331716f Author: Colin Walters Date: Thu Jul 11 11:07:17 2013 -0400 tests/mainloop: Fix assertions to really avoid race conditions As the comment says, we may be delayed an arbitrary amount of time on non-idle systems; update the assertions to reflect this. This should fix periodic failures in the gnome-ostree continuous integration system. https://bugzilla.gnome.org/700460 glib/tests/mainloop.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) commit 405936632a4ed8a83cb1a5472944e35e8159566a Author: Christian Kirbach Date: Sun Jul 14 12:24:07 2013 +0200 Updated German translation po/de.po | 947 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 483 insertions(+), 464 deletions(-) commit 8d0e0c6fcca845659ae54f8a4c1508826ed36963 Author: Dan Winship Date: Mon Jun 3 08:13:50 2013 -0300 gcancellable: update GCancellableSource, fix a race condition Update GCancellableSource to call g_source_set_ready_time() when its cancellable is cancelled, rather than manually checking the state of the cancellable from prepare() and check(). This means that we now need to use g_cancellable_connect() rather than g_signal_connect() at construction time, to avoid the connect/cancel race condition. Likewise, use g_cancellable_disconnect() to avoid the disconnect/cancel race condition when freeing the source. (In fact, that was necessary in the earlier code as well, and might have occasionally caused spurious criticals or worse.) https://bugzilla.gnome.org/show_bug.cgi?id=701511 gio/gcancellable.c | 40 +++++++++++++--------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) commit 8f80fbb2a7bbd140657247b328d6f010ed4d9157 Author: Dan Winship Date: Mon Jun 3 08:10:31 2013 -0300 Remove some unnecessary source prepare/check functions GPollableSource and GSocket's "broken" source never trigger on their own, so with the changes to GSources in the last cycle, their check and prepare functions are unnecessary (and undesired). https://bugzilla.gnome.org/show_bug.cgi?id=701511 gio/gpollableutils.c | 18 ++---------------- gio/gsocket.c | 17 ++--------------- 2 files changed, 4 insertions(+), 31 deletions(-) commit 6d328a0d5d0c4762d9d942f2632763075b12dcb8 Author: Dan Winship Date: Sat Jun 1 15:24:13 2013 -0300 gio: port unix streams to GUnixFDSource The unix input/output streams were using a gio-only source type that was mostly identical to GUnixFDSource. Get rid of that source type and just use GUnixFDSource instead. https://bugzilla.gnome.org/show_bug.cgi?id=701511 gio/gasynchelper.c | 109 ------------------------------------------------ gio/gasynchelper.h | 8 ---- gio/gunixinputstream.c | 13 +++++- gio/gunixoutputstream.c | 13 +++++- 4 files changed, 22 insertions(+), 121 deletions(-) commit 8a899265329f6bbbb066991fdc036045d7031b37 Author: Dan Winship Date: Sat Jun 1 15:23:15 2013 -0300 gsourceclosure: Add support for GUnixSignalWatchSource and GUnixFDSource https://bugzilla.gnome.org/show_bug.cgi?id=701511 glib/glib-unix.c | 8 ++++---- glib/gmain.c | 2 +- glib/gmain.h | 4 ++++ gobject/gsourceclosure.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+), 5 deletions(-) commit 1da47d5ede3384105c035638fb4eb533d8989e20 Author: Dan Winship Date: Sun Jun 2 19:59:23 2013 -0300 gsourceclosure: use g_cclosure_marshal_generic For the glib-defined source types, and any source type that defines a closure callback but not a closure marshal, use g_cclosure_marshal_generic. And then remove all the other remaining source closure marshals. https://bugzilla.gnome.org/show_bug.cgi?id=701511 gio/gasynchelper.c | 25 ------------------------- gio/gcancellable.c | 1 - gio/gpollableutils.c | 1 - gio/gsocket.c | 1 - gobject/gsourceclosure.c | 35 ++--------------------------------- 5 files changed, 2 insertions(+), 61 deletions(-) commit cdff4a331ef5ba986afb3707db6cc019b71654d4 Author: Ryan Lortie Date: Sat Jul 13 15:48:39 2013 -0400 Fix g_return_if_fail vs. return_val_if_fail gio/gaction.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit c04a063b781fa4a8c84ed067eaa31241fea18f86 Author: Ryan Lortie Date: Thu Jul 4 16:24:38 2013 -0400 GAction: add function for printing detailed names A counterpart for parsing of detailed actions into (name, target) pairs, this new function prints them back. We also add a new function to check for validity of action names. Only valid action names are allowed when printing. Parsing accepts _some_ invalid names for backwards compatibility. https://bugzilla.gnome.org/show_bug.cgi?id=704157 docs/reference/gio/gio-sections.txt | 2 + gio/gaction.c | 102 +++++++++++++++++++++++++++++++++--- gio/gaction.h | 8 +++ 3 files changed, 105 insertions(+), 7 deletions(-) commit c08ef6c165c6935f257d3fb98c049be50e3816da Author: Dan Winship Date: Tue Jun 4 17:29:55 2013 -0300 gnetworkmonitornetlink: handle default route via device If the default route is via a device rather than a particular IP address, then neither RTA_DST nor RTA_GATEWAY will be present in the RTM_NEWROUTE message, and so GNetworkMonitorNetlink would ignore it, and then think there was no default route. (This could happen with certain kinds of VPNs, if they were set to route all traffic through the VPN.) Fix this by recognizing routes that specify RTA_OIF ("output interface") instead of RTA_GATEWAY. https://bugzilla.gnome.org/show_bug.cgi?id=701609 gio/gnetworkmonitornetlink.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit 973464781cf90c3b1a55c88cd1772a25aba153ca Author: Ryan Lortie Date: Thu Jul 11 15:57:05 2013 -0400 Fix a typo in a filename in Makefile.am gio/tests/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3b1b04433cdc1f1685af2e9c5437e3ac41f3a94a Author: Ryan Lortie Date: Sat Jun 8 17:31:09 2013 -0400 Add a testcase for DBusActivatable=true Add a fairly realistic testcase that ensures that GDesktopAppInfo with DBusActivatable=true can successfully talk to GApplication for a variety of purposes. https://bugzilla.gnome.org/show_bug.cgi?id=699259 gio/tests/.gitignore | 1 + gio/tests/Makefile.am | 3 + gio/tests/dbus-appinfo.c | 290 +++++++++++++++++++++++++++++ gio/tests/org.gtk.test.dbusappinfo.desktop | 17 ++ 4 files changed, 311 insertions(+) commit 2a4dbbc73a65a9a8faa895eda88d0e7339ae9475 Author: Piotr Drąg Date: Thu Jul 11 21:09:15 2013 +0200 Updated POTFILES.in po/POTFILES.in | 1 + 1 file changed, 1 insertion(+) commit d07d96e13549439ea42af0f9348afc5aa044bc9f Author: Ryan Lortie Date: Thu Jul 11 13:54:47 2013 -0400 Deal with new automake test stuff Add *.trs and *.log to .gitignore along with test-driver Add *.trs and *.log to CLEANFILES in glib.mk. .gitignore | 3 +++ glib.mk | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) commit 985e95e831b340adb57b848590bc20c4e163100a Author: Ryan Lortie Date: Thu Jul 11 13:47:45 2013 -0400 Add missing file This got removed during the OnlyShowIn shuffle. gio/tests/appinfo-test-actions.desktop | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit 9ec8ab62b29ca9a5499fd906231a1c3bb758f321 Author: Ryan Lortie Date: Thu Jul 11 13:04:23 2013 -0400 GDesktopAppInfo: remove note about OnlyShowIn A previous version of the patch had OnlyShowIn support for desktop file actions. This was removed from the spec and the patch rewritten, but this bit of documentation slipped through. Remove it. gio/gdesktopappinfo.c | 5 ----- 1 file changed, 5 deletions(-) commit 6dc5c118e4e52d6a6abaed4d6191fe655917ee4d Author: Ryan Lortie Date: Thu Jul 11 12:46:59 2013 -0400 Implement the Desktop Action specification For some time, the desktop file specification has supported "additional application actions". This is intended to allow for additional methods of starting an app, such as a mail client having a "Compose New Message" action that brings up the compose window instead of the folder list. This patch adds support for this with a relatively minimal API. In the case that the application is a GApplication and DBusActivatable, desktop actions are translated into GActions that have been added to the application with g_action_map_add_action(). This more or less closes the loop on being able to activate an application with an action invocation (instead of 'activate'). https://bugzilla.gnome.org/show_bug.cgi?id=664444 docs/reference/gio/gio-sections.txt | 4 + gio/gdesktopappinfo.c | 219 ++++++++++++++++++++++++++++++++---- gio/gdesktopappinfo.h | 12 ++ gio/tests/Makefile.am | 1 + gio/tests/desktop-app-info.c | 78 +++++++++++++ glib/gkeyfile.h | 1 + 6 files changed, 291 insertions(+), 24 deletions(-) commit f77e1216500986ae60b42a77e25717e1710c6013 Author: Ryan Lortie Date: Fri Jun 28 11:41:43 2013 -0400 add GPropertyAction Add a new type of GAction that represents the value of a property on an object. As an example, this might be used on the "visible-child-name" property of a GtkStack. https://bugzilla.gnome.org/show_bug.cgi?id=703270 docs/reference/gio/gio-docs.xml | 1 + docs/reference/gio/gio-sections.txt | 15 + gio/Makefile.am | 2 + gio/gio.h | 1 + gio/giotypes.h | 1 + gio/gpropertyaction.c | 555 ++++++++++++++++++++++++++++++++++++ gio/gpropertyaction.h | 49 ++++ gio/tests/actions.c | 174 ++++++++++- 8 files changed, 797 insertions(+), 1 deletion(-) commit 662e3c4891a63498d9720d7c9a3d782f30374d3a Author: Ryan Lortie Date: Thu Jul 11 12:26:33 2013 -0400 GVariant: fix two small/theoretical leaks Fix some leaks that turned up while valgrinding the GVariant testcase. These leaks are small and only occur when there is already an error in the program: they are leaks of temp strings used when formatting a critical message. These show up as leaks again the testcase under the new "expect messages" approach. Previously, we fork()ed and these caused the subprocess to abort, which is why this was not noticed before. glib/gvariant.c | 2 ++ 1 file changed, 2 insertions(+) commit 1c586e44befe07812ac1e4473ef9e3a76330b78e Author: Ryan Lortie Date: Thu Jul 11 12:16:44 2013 -0400 Add g_variant_new_printf Add a quick way to get a floating GVariant from printf formatting. docs/reference/glib/glib-sections.txt | 1 + glib/gvariant.c | 38 +++++++++++++++++++++++++++++++++++ glib/gvariant.h | 3 +++ glib/tests/gvariant.c | 21 +++++++++++++++++++ 4 files changed, 63 insertions(+) commit 542099b5adfad9ee0641242b837e0e3d705d973a Author: Matthias Clasen Date: Tue Jul 9 14:28:19 2013 -0400 bump version configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)