diff options
author | Britney Fransen <brfransen@gmail.com> | 2016-01-22 21:57:23 (GMT) |
---|---|---|
committer | Britney Fransen <brfransen@gmail.com> | 2016-01-22 21:57:23 (GMT) |
commit | 96fbd39a414f7b9c096dfc3764538b85b53947e2 (patch) | |
tree | 983cd184b4083db0b965bce14ecacab2b7180e5c /abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch | |
parent | 2aaa3cd6e9d54c08a5d44022136638411819b0f6 (diff) | |
download | linhes_pkgbuild-96fbd39a414f7b9c096dfc3764538b85b53947e2.zip linhes_pkgbuild-96fbd39a414f7b9c096dfc3764538b85b53947e2.tar.gz linhes_pkgbuild-96fbd39a414f7b9c096dfc3764538b85b53947e2.tar.bz2 |
xorg-server: update to 1.18.0
Diffstat (limited to 'abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch')
-rw-r--r-- | abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch b/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch new file mode 100644 index 0000000..9daadf6 --- /dev/null +++ b/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch @@ -0,0 +1,55 @@ +From 780a69aff0ff57ef813179a2f09556eaf488cdfc Mon Sep 17 00:00:00 2001 +From: David Herrmann <dh.herrmann@gmail.com> +Date: Mon, 22 Jun 2015 21:13:05 +0200 +Subject: systemd-logind: do not rely on directed signals + +Right now, Xorg does not install DBus matches for "PauseDevice" / +"ResumeDevice". Therefore, it should usually not receive those DBus +signals from logind. It is just a coincidence that systemd-logind sends +those signals in a directed manner right now. Therefore, dbus-daemon +bypasses the broadcast matches. + +However, this is not ABI and Xorg should not rely on this. systemd-logind +is free to send those signals as broadcasts, in which case Xorg will +freeze the VT. Fix this by always installing those matches. + +Cc: Hans de Goede <hdegoede@redhat.com> +Cc: Keith Packard <keithp@keithp.com> +Reported-by: Jan Alexander Steffens <jan.steffens@gmail.com> +Signed-off-by: David Herrmann <dh.herrmann@gmail.com> +Reviewed-by: Hans de Goede <hdegoede@redhat.com> +Tested-by: Hans de Goede <hdegoede@redhat.com> +Signed-off-by: Hans de Goede <hdegoede@redhat.com> + +diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c +index 69e2f67..2612d9e 100644 +--- a/hw/xfree86/os-support/linux/systemd-logind.c ++++ b/hw/xfree86/os-support/linux/systemd-logind.c +@@ -507,6 +507,24 @@ connect_hook(DBusConnection *connection, void *data) + goto cleanup; + } + ++ dbus_bus_add_match(connection, ++ "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='PauseDevice'", ++ &error); ++ if (dbus_error_is_set(&error)) { ++ LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n", ++ error.message); ++ goto cleanup; ++ } ++ ++ dbus_bus_add_match(connection, ++ "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='ResumeDevice'", ++ &error); ++ if (dbus_error_is_set(&error)) { ++ LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n", ++ error.message); ++ goto cleanup; ++ } ++ + /* + * HdG: This is not useful with systemd <= 208 since the signal only + * contains invalidated property names there, rather than property, val +-- +cgit v0.10.2 + |