Index: gedit-commands-file.c =================================================================== RCS file: /cvs/gnome/gedit/gedit/Attic/gedit-commands-file.c,v retrieving revision 1.1.2.11 diff -u -p -r1.1.2.11 gedit-commands-file.c --- gedit-commands-file.c 4 Dec 2005 14:20:33 -0000 1.1.2.11 +++ gedit-commands-file.c 4 Dec 2005 14:55:48 -0000 @@ -845,33 +845,28 @@ gedit_cmd_file_save_as (GtkAction *act } void -gedit_cmd_file_save_all (GtkAction *action, - GeditWindow *window) +_gedit_cmd_file_save_documents_list (GeditWindow *window, + GList *docs) { - GList *tabs; GList *l; - GSList *tabs_to_save_as; + GSList *tabs_to_save_as = NULL; gedit_debug (DEBUG_COMMANDS); g_return_if_fail (!(gedit_window_get_state (window) & GEDIT_WINDOW_STATE_PRINTING)); - tabs = gtk_container_get_children ( - GTK_CONTAINER (_gedit_window_get_notebook (window))); - - tabs_to_save_as = NULL; - - l = tabs; + l = docs; while (l != NULL) { + GeditDocument *doc; GeditTab *t; GeditTabState state; - GeditDocument *doc; - - t = GEDIT_TAB (l->data); + g_return_if_fail (GEDIT_IS_DOCUMENT (l->data)); + + doc = GEDIT_DOCUMENT (l->data); + t = gedit_tab_get_from_document (doc); state = gedit_tab_get_state (t); - doc = gedit_tab_get_document (t); g_return_if_fail (state != GEDIT_TAB_STATE_PRINTING); g_return_if_fail (state != GEDIT_TAB_STATE_PRINT_PREVIEWING); @@ -928,8 +923,6 @@ gedit_cmd_file_save_all (GtkAction *ac l = g_list_next (l); } - g_list_free (tabs); - if (tabs_to_save_as != NULL) { GeditTab *tab; @@ -948,6 +941,21 @@ gedit_cmd_file_save_all (GtkAction *ac gedit_window_set_active_tab (window, tab); file_save_as (tab, window); } +} + +void +gedit_cmd_file_save_all (GtkAction *action, + GeditWindow *window) +{ + GList *docs; + + gedit_debug (DEBUG_COMMANDS); + + docs = gedit_window_get_documents (window); + + _gedit_cmd_file_save_documents_list (window, docs); + + g_list_free (docs); } /* File revert */ Index: gedit-commands.h =================================================================== RCS file: /cvs/gnome/gedit/gedit/gedit-commands.h,v retrieving revision 1.10.10.7 diff -u -p -r1.10.10.7 gedit-commands.h --- gedit-commands.h 12 May 2005 10:43:26 -0000 1.10.10.7 +++ gedit-commands.h 4 Dec 2005 14:55:48 -0000 @@ -128,6 +128,9 @@ void gedit_cmd_help_about (GtkAction gboolean _gedit_cmd_file_can_close (GeditTab *tab, GtkWindow *window); +void _gedit_cmd_file_save_documents_list (GeditWindow *window, + GList *docs); + G_END_DECLS #endif /* __GEDIT_COMMANDS_H__ */