Comment 7 for bug 33523

Revision history for this message
Paul Sladen (sladen) wrote :

The suspend (likely introducing a clock slew) maybe the key to solving this; the activiation seems to be coming internally from the main 'gnome-screensaver' process as there is no activity on the DBus that is generated externally (these are only feedback/status updates):

  signal sender=:1.3 -> dest=(null destination) interface=org.gnome.ScreenSaver; member=ActiveChanged boolean true
  signal sender=:1.3 -> dest=(null destination) interface=org.gnome.ScreenSaver; member=SessionIdleChanged boolean true
  signal sender=:1.3 -> dest=(null destination) interface=org.gnome.ScreenSaver; member=SessionIdleChanged boolean false
  signal sender=:1.3 -> dest=(null destination) interface=org.gnome.ScreenSaver; member=ActiveChanged boolean false

'src/gs-listener-dbus.c:gs_listener_set_active()' is the function called to active the screensaver, this in turn calls 'listener_set_active_internal()' immediately above it.

This is called from very few places; of which 'src/gs-monitor.c:watcher_idle_notice_cb()' is the one that's probably at fault.