diff options
-rw-r--r-- | src/login/logind-action.c | 4 | ||||
-rw-r--r-- | src/login/logind-core.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/login/logind-action.c b/src/login/logind-action.c index ae7b35055a..1928f43cd1 100644 --- a/src/login/logind-action.c +++ b/src/login/logind-action.c @@ -84,7 +84,9 @@ int manager_handle_action( * treat like this under the assumption that there is * no modern drm driver available. */ n = manager_count_displays(m); - if (n != 1) { + if (n < 0) + log_warning("Display counting failed: %s", strerror(-n)); + else if (n != 1) { log_debug("Ignoring lid switch request, %i displays connected.", n); return 0; } diff --git a/src/login/logind-core.c b/src/login/logind-core.c index ca34d378ff..053d2ed63e 100644 --- a/src/login/logind-core.c +++ b/src/login/logind-core.c @@ -520,7 +520,7 @@ int manager_count_displays(Manager *m) { p = udev_device_get_parent(d); if (!p) - return -ENOMEM; + continue; /* If the parent shares the same subsystem as the * device we are looking at then it is a connector, |