summaryrefslogtreecommitdiff
path: root/src/login/logind-action.c
diff options
context:
space:
mode:
authorMantas Mikulėnas <grawity@gmail.com>2014-03-11 17:49:00 +0200
committerLennart Poettering <lennart@poettering.net>2014-03-11 17:45:24 +0100
commit94036de887ad5b0dc805abe38b5c1c58b57d9465 (patch)
tree47ecc04e64f5a59f8bb17ef4a4a9fcafa1e5b5f8 /src/login/logind-action.c
parent4de82926892eb1636d0a25cf1e4ab15cab6a6099 (diff)
logind: Do not fail display count if a device has no parent
udev_device_get_parent() may return NULL when the device doesn't have a parent, as is the case with (for example) /sys/devices/virtual/drm/ttm. Also, log an actual error message instead of "-12 displays connected".
Diffstat (limited to 'src/login/logind-action.c')
-rw-r--r--src/login/logind-action.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/login/logind-action.c b/src/login/logind-action.c
index ae7b35055..1928f43cd 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;
}