--- metacity-2.27.0/src/core/session.c 2009-02-20 10:26:32.000000000 -0500 +++ hacked/src/core/session.c 2009-06-07 23:46:25.927041281 -0400 @@ -82,7 +82,7 @@ static char* load_state (const char *previous_save_file); static void regenerate_save_file (void); static const char* full_save_file (void); -static void warn_about_lame_clients_and_finish_interact (gboolean shutdown); +static void finish_interact (gboolean shutdown); /* This is called when data is available on an ICE connection. */ static gboolean @@ -382,7 +382,7 @@ return; } - warn_about_lame_clients_and_finish_interact (FALSE); + finish_interact (FALSE); if (session_connection == NULL) return; @@ -584,7 +584,7 @@ current_state = STATE_DONE_WITH_INTERACT; - warn_about_lame_clients_and_finish_interact (shutdown); + finish_interact (shutdown); } static void @@ -1724,13 +1724,6 @@ return full_save_path; } -static int -windows_cmp_by_title (MetaWindow *a, - MetaWindow *b) -{ - return g_utf8_collate (a->title, b->title); -} - static void finish_interact (gboolean shutdown) { @@ -1742,89 +1735,4 @@ } } -static void -sigchld_handler (MetaNexus *nexus, guint arg1, gpointer arg2, gpointer user_data) -{ - gboolean shutdown = GPOINTER_TO_INT (user_data); - - if (arg1 == 0) /* pressed "OK" */ - { - finish_interact (shutdown); - } -} - -static void -warn_about_lame_clients_and_finish_interact (gboolean shutdown) -{ - GSList *lame = NULL; - GSList *windows; - GSList *lame_details = NULL; - GSList *tmp; - GSList *columns = NULL; - - windows = meta_display_list_windows (meta_get_display ()); - tmp = windows; - while (tmp != NULL) - { - MetaWindow *window; - - window = tmp->data; - - /* only complain about normal windows, the others - * are kind of dumb to worry about - */ - if (window->sm_client_id == NULL && - window->type == META_WINDOW_NORMAL) - lame = g_slist_prepend (lame, window); - - tmp = tmp->next; - } - - g_slist_free (windows); - - if (lame == NULL) - { - /* No lame apps. */ - finish_interact (shutdown); - return; - } - - columns = g_slist_prepend (columns, "Window"); - columns = g_slist_prepend (columns, "Class"); - - lame = g_slist_sort (lame, (GCompareFunc) windows_cmp_by_title); - - tmp = lame; - while (tmp != NULL) - { - MetaWindow *w = tmp->data; - - lame_details = g_slist_prepend (lame_details, - w->res_class ? w->res_class : ""); - lame_details = g_slist_prepend (lame_details, - w->title); - - tmp = tmp->next; - } - g_slist_free (lame); - - meta_show_dialog("--list", - _("These windows do not support "save current setup" " - "and will have to be restarted manually next time " - "you log in."), - "240", - meta_screen_get_screen_number (meta_get_display()->active_screen), - NULL, NULL, - None, - columns, - lame_details); - - g_slist_free (lame_details); - - g_signal_connect (sigchld_nexus, "sigchld", - G_CALLBACK (sigchld_handler), - GINT_TO_POINTER (shutdown)); - -} - #endif /* HAVE_SM */