Hi, This is the follow-up series on channel lifecycle changes, removing channels from session on disconnection. The previous series revealed some issues relatd to direct access to session fields. This new series adds a lot more checks so that no session private field can be accessed diretly anymore. This should avoid potential crashes, and after careful review of SpiceSession accessors, the should be no direct or shared pointer access left. This prevents crashes as reported by Christophe during review, however critical messages are still possible. So far, I couldn't reproduce anymore, but we should be prepared to fix more now. Marc-André Lureau (15): audio: do not access session private struct session: protect internal functions against NULL Add spice_session_is_migration_copy() smartcard: use spice_session_is_migration_copy() session: add and use internal accessors webdav: move initialization to session usb: move device manager initialization to session gtk: do not require glib session private fields session: move SpiceSessionPrivate out of headers session: remove channels on disconnect display: don't reschedule stream if disconnected from session channel: deprecate spice_channel_destroy() session: remove sticky disconnecting flag session: keep a reference on disconnect session: disconnect in idle doc/reference/spice-gtk-sections.txt | 1 + gtk/channel-display.c | 5 +- gtk/channel-main.c | 13 +- gtk/channel-smartcard.c | 20 +- gtk/channel-webdav.c | 34 +-- gtk/desktop-integration.c | 7 +- gtk/map-file | 1 + gtk/spice-audio.c | 50 +--- gtk/spice-channel.c | 15 +- gtk/spice-channel.h | 3 +- gtk/spice-glib-sym-file | 1 + gtk/spice-gtk-session.c | 4 +- gtk/spice-session-priv.h | 98 +------ gtk/spice-session.c | 481 ++++++++++++++++++++++++++++------- gtk/spice-session.h | 1 + gtk/usb-device-manager.c | 35 +-- 16 files changed, 464 insertions(+), 305 deletions(-) -- 2.1.0 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel