<html>
    <head>
      <base href="https://bugzilla.gnome.org/" />
    </head>
    <body><span class="vcard"><a href="page.cgi?id=describeuser.html&login=bugzilla%40hadess.net" title="Bastien Nocera <bugzilla@hadess.net>"> <span class="fn">Bastien Nocera</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - wayland: fix fontconfig monitoring"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=786693">bug 786693</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Attachment #368982 status</td>
           <td>none
           </td>
           <td>needs-work
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - wayland: fix fontconfig monitoring"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=786693#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - wayland: fix fontconfig monitoring"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=786693">bug 786693</a>
              from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=bugzilla%40hadess.net" title="Bastien Nocera <bugzilla@hadess.net>"> <span class="fn">Bastien Nocera</span></a>
</span></b>
        <pre>Review of <span class=""><a href="attachment.cgi?id=368982" name="attach_368982" title="'gtk-fontconfig-timestamp' for Wayland (dbus's org.gtk.Settings interface)">attachment 368982</a> <a href="attachment.cgi?id=368982&action=edit" title="'gtk-fontconfig-timestamp' for Wayland (dbus's org.gtk.Settings interface)">[details]</a></span> <a href='review?bug=786693&attachment=368982'>[review]</a>:

Thanks for looking into this again, we're nearly there.

It also looks easy enough to extend and add support for the 2 other GtkSettings
if you're interested.

::: gdk/wayland/gdkscreen-wayland.c
@@ +70,3 @@
   GHashTable *settings;
   GsdXftSettings xft_settings;
+  GsdFcSettings fc_settings;

Why use a struct here, and not directly a timestamp? The struct will be
initialised to 0 when it's instantiated.

@@ +116,3 @@

+  if (screen_wayland->dbus_proxy)
+    g_object_unref (screen_wayland->dbus_proxy);

You can replace both lines with g_clear_object();

@@ +713,3 @@
+  if (strcmp (name, "gtk-fontconfig-timestamp") == 0)
+    {
+      if (wayland_screen->fc_settings.timestamp > 0)

Why the guard here? Wouldn't you want to return the "0" instead of an error
here?

@@ +872,3 @@
+    return;
+
+  g_variant_get (changed_properties, "a{sv}", &iter);

You can replace this loop with g_variant_lookup_value()
Don't forget to exit early if the timestamp wasn't found.

@@ +914,3 @@
+  if (proxy == NULL)
+    {
+      g_clear_error (&error);

Either you should not use an error at all (you don't do anything with it), or
you should have a few cases and print errors if the error is something other
than the call being cancelled, or org.gtk.Settings not existing.

@@ +969,3 @@
+                            GTK_SETTINGS_DBUS_PATH,
+                            GTK_SETTINGS_DBUS_NAME,
+                            NULL,

You'll also want to add a cancellable here, which you would cancel and destroy
in the finalize function.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>