diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2018-07-17 20:20:55 +0000 |
---|---|---|
committer | Ray Strode <halfline@gmail.com> | 2018-07-17 20:20:55 +0000 |
commit | feb1cf50ccc9d5e8066aa47d69c53bb39f9dff82 (patch) | |
tree | 78e722c9f1f13ad674cd6045b41c3711d226888a /daemon/gdm-xdmcp-display-factory.c | |
parent | 79a7360ba632d71c7d3b0fd9143419dcc46fb924 (diff) | |
download | gdm-feb1cf50ccc9d5e8066aa47d69c53bb39f9dff82.tar.gz |
display-factory: avoid removing a display from store while iterating it
Diffstat (limited to 'daemon/gdm-xdmcp-display-factory.c')
-rw-r--r-- | daemon/gdm-xdmcp-display-factory.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/daemon/gdm-xdmcp-display-factory.c b/daemon/gdm-xdmcp-display-factory.c index 46a0d9ff..5b5786c6 100644 --- a/daemon/gdm-xdmcp-display-factory.c +++ b/daemon/gdm-xdmcp-display-factory.c @@ -2066,15 +2066,12 @@ on_display_status_changed (GdmDisplay *display, GdmXdmcpDisplayFactory *factory) { int status; - GdmDisplayStore *store; GdmLaunchEnvironment *launch_environment; GdmSession *session; GdmAddress *address; gint32 session_number; int display_number; - store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory)); - launch_environment = NULL; g_object_get (display, "launch-environment", &launch_environment, NULL); @@ -2095,10 +2092,10 @@ on_display_status_changed (GdmDisplay *display, NULL); gdm_xdmcp_send_alive (factory, address, display_number, session_number); - gdm_display_store_remove (store, display); + gdm_display_factory_queue_purge_displays (GDM_DISPLAY_FACTORY (factory)); break; case GDM_DISPLAY_FAILED: - gdm_display_store_remove (store, display); + gdm_display_factory_queue_purge_displays (GDM_DISPLAY_FACTORY (factory)); break; case GDM_DISPLAY_UNMANAGED: if (session != NULL) { |