gnome3: correctly detect when no GNOME screenlock exists master
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Wed, 17 Apr 2019 18:23:18 +0000 (14:23 -0400)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Wed, 17 Apr 2019 18:31:54 +0000 (14:31 -0400)
* gnome3/pinentry-gnome3.c (pe_gnome_screen_locked): skip
G_IO_ERROR_IS_DIRECTORY responses, not G_IO_ERROR_TIMED_OUT responses
from dbus.

--

After the previous commit, testing demonstrates that the normal
response when no screenlock is running is G_IO_ERROR_IS_DIRECTORY, not
G_IO_ERROR_TIMED_OUT.

Debian-bug-id: 927105
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
gnome3/pinentry-gnome3.c

index 40c72ac..158fbe1 100644 (file)
@@ -452,9 +452,9 @@ pe_gnome_screen_locked (void)
   g_object_unref(dbus);
   if (!reply)
     {
-      /* G_IO_ERROR_TIMED_OUT is the expected response when there is
+      /* G_IO_ERROR_IS_DIRECTORY is the expected response when there is
        * no gnome screensaver at all, don't be noisy in that case: */
-      if (!(error && error->code == G_IO_ERROR_TIMED_OUT))
+      if (!(error && error->code == G_IO_ERROR_IS_DIRECTORY))
         fprintf (stderr, "Failed to get d-bus reply for org.gnome.ScreenSaver.GetActive (%d): %s\n",
                  error ? error->code : -1,
                  error ? error->message : "<no GError>");