ponytail-daemon: Stop session when a bus vanishes
When the remote desktop or the screen cast buses vanish, stop the ponytail session.
Make sure to cancel any pending items and print the right debug message.
Steps to reproduce the issue:
-
Open a terminal and get the list of windows:
$ dbus-send --session --print-reply
--dest=org.gnome.Shell.Introspect /org/gnome/Shell/Introspect
org.gnome.Shell.Introspect.GetWindows -
Connect to a window:
$ dbus-send --session --print-reply --dest=org.gnome.Ponytail
/org/gnome/Ponytail/EventController
org.gnome.Ponytail.EventController.ConnectWindow uint64: -
Stop and start the graphical session:
$ sudo systemctl isolate multi-user.target
-
Ponytail will fail with a seg fault:
Program terminated with signal SIGSEGV, Segmentation fault. on_remote_desktop_session_created at ../src/gpd-session.c:459 459 g_warning ("Failed to start remote desktop session: %s\n", error->message);