Skip to content

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:

  1. 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

  2. Connect to a window:

    $ dbus-send --session --print-reply --dest=org.gnome.Ponytail
    /org/gnome/Ponytail/EventController
    org.gnome.Ponytail.EventController.ConnectWindow uint64:

  3. Stop and start the graphical session:

    $ sudo systemctl isolate multi-user.target

  4. 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);

cc @ofourdan @modehnal

Merge request reports