summaryrefslogtreecommitdiff
path: root/savers/floaters.c
diff options
context:
space:
mode:
authorFaidon Liambotis <[email protected]>2015-09-15 01:26:01 +0300
committerMonsta <[email protected]>2015-10-14 11:08:27 +0300
commit306599bdbae51788ed2c2faa061adc6966fd814d (patch)
tree740e6690126dcb060533a47773560b97e8d5b41c /savers/floaters.c
parentb8dcae2ef6ca908250ac5d7c86591f556a37c4e8 (diff)
downloadmate-screensaver-306599bdbae51788ed2c2faa061adc6966fd814d.tar.bz2
mate-screensaver-306599bdbae51788ed2c2faa061adc6966fd814d.tar.xz
Fix systemd event handling
Right now the systemd event handling is not actually working at all. This happens because _listener_message_path_is_our_session() has code to check if the event came to our session (e.g. "10") and, under systemd, does this by trying to compare it with the object path, by stripping the /org/freedesktop/login1/session/ prefix. However, under -at least recent versions- of systemd, the session ID part of the path is escaped separately, and following D-Bus rules initial numbers are escaped. In the example above, the obj_path is /org/freedesktop/login1/session/_310, so the comparison actually fails. Port a fix that has been present on various distributions (e.g. Arch) and pieces of software (e.g. cinnamon-screensaver) since at least March 2013. The original author is Peter de Ridder <[email protected]>. The bug and the fix can both be easily verified by running "loginctl lock-sessions".
Diffstat (limited to 'savers/floaters.c')
0 files changed, 0 insertions, 0 deletions