1. 16 Jun, 2016 1 commit
  2. 15 Jun, 2016 5 commits
  3. 07 Jun, 2016 1 commit
  4. 04 Jun, 2016 3 commits
  5. 03 Jun, 2016 1 commit
  6. 02 Jun, 2016 2 commits
  7. 20 May, 2016 2 commits
  8. 14 May, 2016 1 commit
  9. 05 May, 2016 1 commit
    • Matthias Clasen's avatar
      gdbus-codegen: Only generate autocleanup when instructed to · 98f86bee
      Matthias Clasen authored
      This adds a new --c-generate-autocleanup option to gdbus-codegen
      which can be used to instruct gdbus-codegen about what autocleanup
      definitions to emit.
      Doing this unconditionally was found to interfere with existing
      code out in the wild.
      The new option takes an argument that can be
      none, objects or all; to indicate whether to generate no
      autocleanup functions, only do it for object types, or do it
      for interface types as well. The default is 'objects', which
      matches the unconditional behavior of gdbus-codegen on the 2.48
  10. 04 May, 2016 4 commits
  11. 03 May, 2016 1 commit
    • Simon McVittie's avatar
      codegen: make g_autoptr for the GInterface conditional · 1c6cd5f0
      Simon McVittie authored
      Some GNOME projects unconditionally work around the generated code's
      lack of g_autoptr support by defining the autoptr cleanup function
      themselves, which is not forward-compatible; as a result, commit
      cbbcaa4d broke them. Do not define the cleanup function unless the
      including app "opts in" to newer APIs via GLIB_VERSION_MAX_ALLOWED.
      Projects requiring compatibility with GLib < 2.49 can get a
      forward-compatible g_autoptr for a generated GInterface type found in
      a library, for example ExampleAnimal in the GIO tests, by declaring
      and using a typedef with a distinct name outside the library's
          typedef AutoExampleAnimal ExampleAnimal;
          G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoExampleAnimal, g_object_unref)
          g_autoptr (AutoExampleAnimal) animal = NULL;
          /* returns ExampleAnimal * */
          animal = example_animal_proxy_new_sync (...);
          /* takes ExampleAnimal * first argument */
          example_animal_call_poke_sync (animal, ...);
      Signed-off-by: Simon McVittie's avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
      Bug: https://bugzilla.gnome.org/show_bug.cgi?id=763379Reviewed-by: Colin Walters's avatarColin Walters <walters@verbum.org>
      Reviewed-by: default avatarEmmanuele Bassi <ebassi@gnome.org>
  12. 02 May, 2016 1 commit
  13. 30 Apr, 2016 1 commit
  14. 29 Apr, 2016 1 commit
    • Allison Karlitskaya's avatar
      gdbus-tool: avoid irrelevant note about arg types · 05060b61
      Allison Karlitskaya authored
      gdbus-tool prints a hint about the expected arguments to a function call
      in case of errors.  Unfortunately, it prints this message on all errors.
      I've seen this confuse users several times -- they go on tweaking the
      arguments trying to get the correct type, even though they had it
      correct in the first place.
      Let's limit the hint to the case where it was actually invalid arguments
      that triggered the problem.  Also, adjust the code that prints the
      message so that it will also report on the case that no arguments were
      We could possibly get closer to what we want by comparing the list of
      expected arguments with the parameter list, as it was parsed from the
      user, but that would involve composing the expected type.  Let's keep
      this simple for now.
  15. 28 Apr, 2016 3 commits
    • Marc-Antoine Perennou's avatar
    • Allison Karlitskaya's avatar
      GResources: add support for resource overlays · 55ab3af0
      Allison Karlitskaya authored
      When debugging a program or testing a change to an installed version, it
      is often useful to be able to replace resources in the program or a
      library, without recompiling.
      To support this, for debugging and hacking purposes, it's now possible
      to define a G_RESOURCE_OVERLAYS environment variable as a
      colon-separated list of substitutions to perform when looking up
      A substitution has the form
      The part before the '=' is the resource subpath for which the overlay
      applies.  The part after is a filesystem path which contains files and
      subdirectories as you would like to be loaded as resources with the
      equivalent names.
      In the example above, if an application tried to load a resource with
      the resource path '/org/gtk/libgtk/ui/gtkdialog.ui' then GResource would
      check the filesystem path '/home/desrt/gtk-overlay/ui/gtkdialog.ui'.  If
      a file was found there, it would be used instead.
      Substitutions must start with a slash, and must not have a trailing
      slash before the '='.  It is possible to overlay the location of a
      single resource with an individual file.
    • Allison Karlitskaya's avatar
      GResources: use g_hash_table_get_keys_as_array() · 3c7c0af1
      Allison Karlitskaya authored
      Replace the hand-written equivalent of this with the call to the
      GHashTable built-in version to save a few lines of code.
      The GResource code was written a couple of years before this function
      Similarly, replace a set-mode usage of g_hash_table_insert() with a call
      to g_hash_table_add().
  16. 27 Apr, 2016 1 commit
  17. 26 Apr, 2016 2 commits
    • Allison Karlitskaya's avatar
      GContextSpecificGroup: add testcase · 75589956
      Allison Karlitskaya authored
      Add a test case for unreffing an object from a GContextSpecificGroup
      immediately after firing a signal, before allowing the mainloop to run.
    • Allison Karlitskaya's avatar
      GContextSpecificGroup: detach sources · 62f320e6
      Allison Karlitskaya authored
      GContextSpecificGroup has been somewhat broken for a rather long time:
      when we remove the last reference on an object held in the group, we try
      to clean up the source, but fail to actually remove it from the
      We will soon stop emitting signals on the source (due to it having been
      removed from the hash table) but any "in flight" signals will still be
      delivered on the source, which continues to exist.  This is a problem if
      the event is being delivered just as the object is being destroyed.
      This also means that we leave the source attached to the mainloop
      forever (and next time will create a new one)...
      This is demonstrated with the GtkAppChooser dialog which writes an
      update to the mimeapps.list file just as it is closing, triggering the
      app info monitor to fire just as it is being destroyed.
      Karl Tomlinson correctly analysed the problem and proposed this fix.
  18. 25 Apr, 2016 1 commit
    • Allison Karlitskaya's avatar
      GDesktopAppInfo: support bus activation with '-' · 3301b852
      Allison Karlitskaya authored
      GApplication has accepted any valid bus name as an application ID since
      before the time of D-Bus activation.  This includes bus names with '-'.
      Several applications have even attempted support bus activation with
      these names, going as far as installing D-Bus service files, without
      realising that they are silently falling back to fork()/exec() on
      account of the name containing a dash.
      The reason for the problem is that D-Bus object paths cannot contain
      dashes.  We solved this problem privately in an unspecified way inside
      of GApplication but substituting '_' in this case, but never made this
      part of the Desktop Entry Specification.
      The fact that these apps with '-' in the desktop file names aren't
      actually using D-Bus activation is beside the point: their intent here
      was clear.  Let's avoid forcing them to rename their desktop files again
      by simply accepting '-' in desktop file names and munging the path in
      the way that GApplication did so historically.
      The new path escaping code here has been copied more or less verbatim
      from GApplication's own code for the same purpose, with only the removal
      of one irrelevant part.
      An update to the desktop entry specification will follow.
  19. 17 Apr, 2016 1 commit
  20. 13 Apr, 2016 1 commit
  21. 12 Apr, 2016 1 commit
  22. 09 Apr, 2016 1 commit
  23. 03 Apr, 2016 1 commit
  24. 02 Apr, 2016 1 commit
  25. 21 Mar, 2016 2 commits