commit ce5a67127223e99ffdbf9cb697537c689e2fe364 Author: Vincent Untz Date: Tue Sep 25 10:55:31 2012 +0200 Fix same seat detection if built with systemd, but not booted with it If we haven't booted with systemd, then we can only assume it's always the same seat. Based on patch by Takashi Iwai . https://bugzilla.novell.com/show_bug.cgi?id=769570 diff --git a/configure.ac b/configure.ac index 994fd1a..93c715e 100644 --- a/configure.ac +++ b/configure.ac @@ -145,7 +145,7 @@ AC_SUBST(LIBATASMART_CFLAGS) AC_SUBST(LIBATASMART_LIBS) PKG_CHECK_MODULES(LIBSYSTEMD_LOGIN, - [libsystemd-login >= 44], + [libsystemd-login >= 44 libsystemd-daemon], have_libsystemd_login=yes, have_libsystemd_login=no) AM_CONDITIONAL(HAVE_LIBSYSTEMD_LOGIN, test x$have_libsystemd_login = xyes) diff --git a/src/udisksdaemonutil.c b/src/udisksdaemonutil.c index ef925f5..69cd8a5 100644 --- a/src/udisksdaemonutil.c +++ b/src/udisksdaemonutil.c @@ -42,6 +42,7 @@ #include "udiskslinuxdriveobject.h" #if defined(HAVE_LIBSYSTEMD_LOGIN) +#include #include #endif @@ -1021,6 +1022,10 @@ udisks_daemon_util_on_same_seat (UDisksDaemon *daemon, UDisksObject *drive_object = NULL; UDisksDrive *drive = NULL; + /* if we haven't booted with systemd, assume it's always the same seat */ + if (sd_booted () <= 0) + return TRUE; + if (UDISKS_IS_LINUX_BLOCK_OBJECT (object)) { UDisksLinuxBlockObject *linux_block_object;