1. 19 Jun, 2018 2 commits
  2. 27 Apr, 2018 1 commit
  3. 11 Apr, 2018 1 commit
  4. 09 Apr, 2018 1 commit
  5. 12 Feb, 2018 1 commit
  6. 23 Oct, 2017 1 commit
  7. 11 Sep, 2017 1 commit
  8. 29 May, 2017 1 commit
  9. 30 Apr, 2017 1 commit
  10. 28 Feb, 2017 2 commits
  11. 22 Nov, 2016 1 commit
  12. 12 Oct, 2016 1 commit
  13. 17 Jul, 2016 2 commits
  14. 28 Apr, 2016 1 commit
  15. 12 Sep, 2015 1 commit
  16. 01 Sep, 2015 2 commits
  17. 09 Jun, 2015 2 commits
  18. 05 Jun, 2015 2 commits
  19. 01 Mar, 2015 1 commit
  20. 05 Feb, 2015 1 commit
  21. 04 Feb, 2015 1 commit
  22. 28 Jan, 2015 1 commit
  23. 14 Jan, 2015 1 commit
  24. 22 Dec, 2014 1 commit
  25. 28 Nov, 2014 1 commit
  26. 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
  27. 24 Jun, 2014 2 commits
  28. 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
  29. 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
  30. 08 Feb, 2014 1 commit
  31. 06 Feb, 2014 3 commits