1. 01 Mar, 2016 1 commit
  2. 06 Oct, 2015 1 commit
  3. 12 Sep, 2015 1 commit
  4. 24 Aug, 2015 1 commit
    • Dan Winship's avatar
      gdbus: fix race condition in connection filter freeing · 7da3922d
      Dan Winship authored
      If you called g_dbus_connection_remove_filter() on a filter while it
      was running (or about to be run) in another thread, its GDestroyNotify
      would be run immediately, potentially causing the filter thread to
      crash.
      
      Fix this by refcounting the filters, and using the existing mechanism
      for running a GDestroyNotify in another thread in the case where the
      the gdbus thread is the one that frees it.
      
      Also, add a bit of documentation explaining this (and add a related
      clarification to g_dbus_connection_signal_subscribe()).
      
      https://bugzilla.gnome.org/show_bug.cgi?id=704568
      7da3922d
  5. 18 Aug, 2015 1 commit
  6. 06 Aug, 2015 1 commit
    • Colin Walters's avatar
      gdbusconnection: Don't g_printerr() when exiting · 66bc9660
      Colin Walters authored
      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
      66bc9660
  7. 21 Jul, 2015 1 commit
  8. 05 Jun, 2015 1 commit
  9. 21 Apr, 2015 1 commit
  10. 06 Apr, 2015 1 commit
  11. 04 Apr, 2015 1 commit
  12. 09 Jul, 2014 1 commit
  13. 27 Mar, 2014 1 commit
  14. 08 Feb, 2014 2 commits
  15. 06 Feb, 2014 1 commit
  16. 02 Feb, 2014 1 commit
  17. 01 Feb, 2014 4 commits
  18. 31 Jan, 2014 2 commits
  19. 02 Jan, 2014 1 commit
  20. 01 Jan, 2014 1 commit
  21. 20 Nov, 2013 1 commit
    • Dan Winship's avatar
      Replace #ifdef HAVE_UNISTD_H checks with #ifdef G_OS_UNIX · 158dde05
      Dan Winship authored
      In Windows development environments that have it, <unistd.h> is mostly
      just a wrapper around several other native headers (in particular,
      <io.h>, which contains read(), close(), etc, and <process.h>, which
      contains getpid()). But given that some Windows dev environments don't
      have <unistd.h>, everything that uses those functions on Windows
      already needed to include the correct Windows header as well, and so
      there is never any point to including <unistd.h> on Windows.
      
      Also, remove some <unistd.h> includes (and a few others) that were
      unnecessary even on unix.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=710519
      158dde05
  22. 02 Jul, 2013 1 commit
    • Allison Karlitskaya's avatar
      GDBusConnection: be more careful with async GetAll · cb446960
      Allison Karlitskaya authored
      It's possible to get a org.freedesktop.Properties.GetAll call even if we
      have no readable properties in the introspection, in which case we
      should return the empty list in the usual way.
      
      We should certainly _not_ be dispatching to the method call handler of
      an interface which has no properties (since it will not be expecting
      this).
      
      Add a check to make sure that there is at least one readable property
      before assuming that a NULL get_property handler implies that we want to
      handle properties asynchronously.
      
      Add a testcase that was failing before the change and works after it.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=703437
      cb446960
  23. 22 Jun, 2013 5 commits
    • Allison Karlitskaya's avatar
      GDBusConnection: allow async property handling · f754c4e8
      Allison Karlitskaya authored
      The existing advice in the documentation to "simply" register the
      "org.freedesktop.DBus.Properties" interface if you want to handle
      properties asynchronously is pretty unreasonable.  If you want to handle
      this interface you have to deal with all properties for all interfaces
      on the path, and you have to do all of the checking for yourself.  You
      also have to provide your own introspection data.
      
      Introduce a new convention for dealing with properties asynchronously.
      
      If the user provides NULL for their get_property() or set_property()
      functions in the vtable and has properties registered then the
      properties are sent to the method_call() handler.  We get lucky here
      that this function takes an "interface_name" parameter that we can set
      to "org.freedesktop.DBus.Properties".
      
      We also do the user the favour of setting the GDBusPropertyInfo on the
      GDBusMethodInvocation for their convenience (for much the same reasons
      as they might want the already-available GDBusMethodInfo).
      
      Add a testcase as well as a bunch of documentation about this new
      feature.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=698375
      f754c4e8
    • Allison Karlitskaya's avatar
      GDBusMethodInvocation: add 'property_info' · c691f7b6
      Allison Karlitskaya authored
      Add a field on GDBusMethodInvocation for GDBusPropertyInfo.
      
      For now, it is always %NULL.  It will be set in future patches.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=698375
      c691f7b6
    • Allison Karlitskaya's avatar
      GDBusConnection: some straight-up refactoring · 14dc0280
      Allison Karlitskaya authored
      Separate the code for validating a method call from the code for
      actually scheduling it for dispatch.
      
      This will allow property Get/Set/GetAll calls to be dispatched to the
      method_call handler without duplicating a lot of code.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=698375
      14dc0280
    • Allison Karlitskaya's avatar
      GDBusConnection: move 'Set' typecheck to worker · 02f5cdd9
      Allison Karlitskaya authored
      We presently do a lot of checks on property sets (signature check,
      correct interface, property exists, etc.) from the worker thread before
      dispatching the call to the user's thread.  The typecheck, however, is
      saved until just before calling the user's vfunc, in their thread.
      
      My best guess is that this was done to save having to unpack the value
      from the tuple twice (since we don't unpack it until we're just about
      the call the user).
      
      This patch moves the check to the same place as all of the other checks.
      
      The purpose of this change is to allow for sharing this check with the
      (soon-to-be-introduced) case of handing property sets from
      method_call().
      
      This change has a minor side effect: error messages generated by sending
      invalid values to property sets are no longer guaranteed to be correctly
      ordered with respect to the void returns from successful property sets.
      They will instead be correctly ordered with respect to the other error
      messages.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=698375
      02f5cdd9
    • Allison Karlitskaya's avatar
  24. 21 May, 2013 1 commit
    • Dan Winship's avatar
      Use 'dumb quotes' rather than `really dumb quotes' · 4b94c083
      Dan Winship authored
      Back in the far-off twentieth century, it was normal on unix
      workstations for U+0060 GRAVE ACCENT to be drawn as "‛" and for U+0027
      APOSTROPHE to be drawn as "’". This led to the convention of using
      them as poor-man's ‛smart quotes’ in ASCII-only text.
      
      However, "'" is now universally drawn as a vertical line, and "`" at a
      45-degree angle, making them an `odd couple' when used together.
      
      Unfortunately, there are lots of very old strings in glib, and also
      lots of new strings in which people have kept up the old tradition,
      perhaps entirely unaware that it used to not look stupid.
      
      Fix this by just using 'dumb quotes' everywhere.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=700746
      4b94c083
  25. 08 Apr, 2013 1 commit
  26. 11 Sep, 2012 1 commit
  27. 23 Jun, 2012 1 commit
  28. 06 Jun, 2012 1 commit
  29. 19 Apr, 2012 1 commit
  30. 18 Apr, 2012 2 commits