1. 30 Jan, 2019 1 commit
  2. 13 Nov, 2018 1 commit
  3. 12 Nov, 2018 1 commit
  4. 17 Jul, 2018 1 commit
  5. 19 Jun, 2018 2 commits
  6. 27 Apr, 2018 1 commit
  7. 11 Apr, 2018 1 commit
  8. 09 Apr, 2018 1 commit
  9. 12 Feb, 2018 1 commit
  10. 23 Oct, 2017 1 commit
  11. 11 Sep, 2017 1 commit
  12. 29 May, 2017 1 commit
  13. 30 Apr, 2017 1 commit
  14. 28 Feb, 2017 2 commits
  15. 22 Nov, 2016 1 commit
  16. 12 Oct, 2016 1 commit
  17. 17 Jul, 2016 2 commits
  18. 28 Apr, 2016 1 commit
  19. 12 Sep, 2015 1 commit
  20. 01 Sep, 2015 2 commits
  21. 09 Jun, 2015 2 commits
  22. 05 Jun, 2015 2 commits
  23. 01 Mar, 2015 1 commit
  24. 05 Feb, 2015 1 commit
  25. 04 Feb, 2015 1 commit
  26. 28 Jan, 2015 1 commit
  27. 14 Jan, 2015 1 commit
  28. 22 Dec, 2014 1 commit
  29. 28 Nov, 2014 1 commit
  30. 19 Nov, 2014 1 commit
    • Allison Karlitskaya's avatar
      GSettings: delay backend subscription · 8ff5668a
      Allison Karlitskaya authored
      GSettings objects begin watching for changes as soon as they are created
      in order that they can emit the "changed" signal.
      
      In the case of dconf, if we want to be able to emit the changed signal,
      we need to go on the bus and add some match rules.  This requires
      creating the dconf helper thread and also requires initialising GDBus
      (which creates another thread).
      
      Some users of GSettings are never interested in the "changed" signal.
      One of these users is the glib-networking code that gets run every time
      a new network connection is created.
      
      Some users are reporting that they are annoyed that simply establishing
      a network connection would spawn two extra threads and create a D-Bus
      connection.
      
      In order to avoid doing unnecessary work for these simple uses, delay
      the subscription until we know that we will actually need to do it.
      
      We do this in a simple way, using a simple argument: in order for the
      user to care that a value changed then they must have:
      
       1) watched for a change signal; and then
       2) actually read a value
      
      If the user didn't actually read a value then they cannot possibly be
      interested in if the value changed or not (since they never knew the old
      value to begin with and therefore would be unable to observe that it
      ever changed, since they have nothing to compare the new value with).
      
      This really is a behaviour change, however, and it does impact at least
      one user: the 'monitor' functionality of the GSettings commandline tool,
      which is interested in reporting changes without ever having known the
      original values.  We add a workaround to the commandline tool in order
      to ensure that it continues to function properly.
      
      It's also possible to argue that it is completely valid to have read a
      value and _then_ established a change signal connection under the
      (correct) assumption that it would not have been possible to miss a
      change signal by virtue of not having returned to the mainloop.
      Although this argument is true, this pattern is extremely non-idiomatic,
      and the problem is easily avoided by doing things in the usual order.
      
      We never really talked about change notification in the overview
      documentation for GSettings, so it seems like now is a good time to add
      some discussion, including the new rules for when one can expect change
      signals to be emitted.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=733791
      8ff5668a
  31. 24 Jun, 2014 2 commits
  32. 14 Mar, 2014 1 commit
    • Allison Karlitskaya's avatar
      gsettingsbackend: a minor simplification · 698970f1
      Allison Karlitskaya authored
      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
      698970f1
  33. 09 Feb, 2014 1 commit
    • Matthias Clasen's avatar
      Docs: Drop entities, switch away from sgml mode · 35066ed6
      Matthias Clasen authored
      Since all element markup is now gone from the doc comments,
      we can turn off the gtk-doc sgml mode, which means that from
      now on, docbook markup is no longer allowed in doc comments.
      
      To make this possible, we have to replace all remaining
      entities in doc comments by their replacement text, & -> &
      and so on.
      35066ed6