1. 04 Oct, 2013 1 commit
  2. 24 Jun, 2013 2 commits
  3. 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
  4. 08 Jun, 2012 1 commit
  5. 31 Mar, 2012 1 commit
  6. 19 Mar, 2012 2 commits
  7. 15 Mar, 2012 1 commit
  8. 24 Feb, 2012 1 commit
  9. 21 Feb, 2012 1 commit
  10. 08 Feb, 2012 1 commit
  11. 26 Jan, 2012 1 commit
    • David Zeuthen's avatar
      GDBusInterface: add dup_object() method · bc40fe58
      David Zeuthen authored
      This is needed for thread-safety ... yes, it would have been better to
      make get_object() return a full reference and have something like a
      peek_object() method return a borrowed reference for C convenience
      (only a single vfunc would have been needed). But such an ABI break is
      too late now...
      Signed-off-by: default avatarDavid Zeuthen <davidz@redhat.com>
      bc40fe58
  12. 05 Oct, 2011 1 commit
  13. 17 Aug, 2011 1 commit
  14. 15 Aug, 2011 4 commits
    • Simon McVittie's avatar
      GDBusProxy: hold properties_lock while using any mutable property · 85214d1e
      Simon McVittie authored
      This changes the meaning of "properties_lock" from "lock for D-Bus
      properties" to "lock for GObject properties".
      
      The most common problem, and the only one I've reproduced in a regression
      test, is name_owner, which can be updated by the thread that owns
      the GDBusProxy's main context (i.e. the thread-default main context of
      the thread that constructed it) at the same time that a blocking call
      is made. When a GDBusProxy is constructed in a thread-pool thread for
      short-term use, the main context will typically be the global default
      main context (which is actively running in the main thread!), making
      this extremely problematic.
      
      The interface info is perhaps a theoretical concern - one thread could
      conceivably set it at the same time that another thread uses it, but only
      in relatively pathological situations. The current API for this does have
      the problem that it returns a borrowed ref, but interface info is
      hopefully permanent anyway.
      
      The default timeout is probably only a theoretical concern - it's just an
      int, so writes are indivisible, and there's no worry about whether
      something has been freed - but to be safe, let's hold the lock for that
      too.
      
      Bug: https://bugzilla.gnome.org/show_bug.cgi?id=656039
      Bug-NB: NB#259760
      Signed-off-by: default avatarDavid Zeuthen <davidz@redhat.com>
      85214d1e
    • Simon McVittie's avatar
      GDBusProxy: factor out async_init_data_set_name_owner · 5909cb10
      Simon McVittie authored
      This removes the need for async_init_get_name_owner_cb to cope with being
      called without a real GAsyncResult, and will simplify the addition of
      correct thread-locking.
      
      In async_init_data_set_name_owner, use the name_owner parameter instead
      of the corresponding member of GDBusProxyPrivate, partly to reduce
      pointer-chasing but mainly to avoid needing to hold the lock.
      Signed-off-by: default avatarDavid Zeuthen <davidz@redhat.com>
      5909cb10
    • Simon McVittie's avatar
      g_dbus_proxy_get_property: use accessors for all mutable state · 03ae974f
      Simon McVittie authored
      These ought to have thread-locking, and having it in the accessor seems
      better than duplicating it here.
      Signed-off-by: default avatarDavid Zeuthen <davidz@redhat.com>
      03ae974f
    • Simon McVittie's avatar
      GDBusProxy: if a well-known name is not owned, don't GetAll from the dbus-daemon · 20387d26
      Simon McVittie authored
      If you run:
      
          ( cd gio/tests && G_DBUS_DEBUG=all ./gdbus-proxy-well-known-name )
      
      you can see that in the case where the name com.example.TestService isn't
      owned yet, the GDBusProxy calls GetAll() with no destination, resulting
      in an error reply from the peer (the dbus-daemon itself). That's clearly
      not right!
      
      However, if priv->name is NULL, that indicates the special case where we
      really do want to talk directly to a peer, instead of via the bus daemon
      (most likely to be used on peer-to-peer connections); in that special
      case, do call GetAll().
      Signed-off-by: Simon McVittie's avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
      Signed-off-by: default avatarDavid Zeuthen <davidz@redhat.com>
      20387d26
  15. 13 Aug, 2011 1 commit
    • Matthias Clasen's avatar
      GDBusProxy: on_properties_changed initialize some variables · ae496a52
      Matthias Clasen authored
      This avoids calling g_variant_unref and g_free on uninitialized memory
      if PropertiesChanged is received in the creating thread's thread-default
      main context's thread, at the same time as releasing the last ref in
      another thread. This would result in "goto out" before the variables
      freed after that label had been initialized to NULL.
      
      Based on a patch by Simon McVittie, bug 656282
      ae496a52
  16. 11 Aug, 2011 1 commit
  17. 25 Jul, 2011 1 commit
  18. 21 Jul, 2011 1 commit
  19. 19 Jul, 2011 1 commit
  20. 20 Jun, 2011 1 commit
  21. 14 Jun, 2011 1 commit
  22. 26 May, 2011 4 commits
  23. 02 May, 2011 1 commit
  24. 27 Apr, 2011 1 commit
  25. 12 Apr, 2011 1 commit
  26. 08 Apr, 2011 4 commits
  27. 30 Mar, 2011 1 commit
  28. 28 Mar, 2011 2 commits