summaryrefslogtreecommitdiff
path: root/daemon/gdm-display-store.c
diff options
context:
space:
mode:
authorWilliam Jon McCann <jmccann@redhat.com>2008-02-21 23:08:25 +0000
committerWilliam Jon McCann <mccann@src.gnome.org>2008-02-21 23:08:25 +0000
commit3f2df9aeedb168524317d18bad0ed64c8d06c42b (patch)
tree9bc37c6409fbe626c4fc4a98365663efb28977a7 /daemon/gdm-display-store.c
parente237bdb9536f5587690885039fba0f22c7678d47 (diff)
downloadgdm-3f2df9aeedb168524317d18bad0ed64c8d06c42b.tar.gz
Add quick death and looping detection for displays.
2008-02-21 William Jon McCann <jmccann@redhat.com> * daemon/gdm-display-store.c: (remove_display), (gdm_display_store_remove): * daemon/gdm-display.c: (gdm_display_add_user_authorization), (gdm_display_set_slave_bus_name), (gdm_display_remove_user_authorization), (finish_idle), (slave_exited), (slave_died), (_gdm_display_set_status), (gdm_display_real_manage), (gdm_display_manage), (gdm_display_real_finish), (gdm_display_finish), (gdm_display_real_unmanage), (gdm_display_set_property), (gdm_display_get_property), (gdm_display_dispose), (gdm_display_class_init), (gdm_display_init), (gdm_display_finalize): * daemon/gdm-display.h: * daemon/gdm-local-display-factory.c: (take_next_display_number), (on_display_disposed), (on_static_display_status_changed), (create_display): * daemon/gdm-manager.c: (remove_display_for_connection): * daemon/gdm-static-display.c: (gdm_static_display_finish): Add quick death and looping detection for displays. svn path=/trunk/; revision=5838
Diffstat (limited to 'daemon/gdm-display-store.c')
-rw-r--r--daemon/gdm-display-store.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/daemon/gdm-display-store.c b/daemon/gdm-display-store.c
index ac3b51d1..62d7e93f 100644
--- a/daemon/gdm-display-store.c
+++ b/daemon/gdm-display-store.c
@@ -73,13 +73,26 @@ gdm_display_store_clear (GdmDisplayStore *store)
g_hash_table_remove_all (store->priv->displays);
}
+static gboolean
+remove_display (char *id,
+ GdmDisplay *display,
+ GdmDisplay *display_to_remove)
+{
+ if (display == display_to_remove) {
+ return TRUE;
+ }
+ return FALSE;
+}
+
gboolean
gdm_display_store_remove (GdmDisplayStore *store,
GdmDisplay *display)
{
g_return_val_if_fail (store != NULL, FALSE);
- g_warning ("GdmDisplayStore: Implement me");
+ gdm_display_store_foreach_remove (store,
+ (GdmDisplayStoreFunc)remove_display,
+ display);
return FALSE;
}