diff --git a/gtk+-2.10.8-search.patch b/gtk+-2.10.12-search.patch similarity index 93% rename from gtk+-2.10.8-search.patch rename to gtk+-2.10.12-search.patch index 720c910..912e8e8 100644 --- a/gtk+-2.10.8-search.patch +++ b/gtk+-2.10.12-search.patch @@ -1,5 +1,5 @@ ---- /dev/null 2007-05-14 19:53:51.012713345 -0400 -+++ gtk+-2.10.11/gtk/gtksearchenginetracker.h 2007-05-15 01:04:07.000000000 -0400 +--- /dev/null 2007-05-19 19:05:57.724948798 -0400 ++++ gtk+-2.10.12/gtk/gtksearchenginetracker.h 2007-05-19 19:51:53.000000000 -0400 @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2005 Mr Jamie McCracken @@ -60,8 +60,8 @@ +G_END_DECLS + +#endif /* __GTK_SEARCH_ENGINE_TRACKER_H__ */ ---- /dev/null 2007-05-14 19:53:51.012713345 -0400 -+++ gtk+-2.10.11/gtk/gtksearchengine.h 2007-05-15 01:04:07.000000000 -0400 +--- /dev/null 2007-05-19 19:05:57.724948798 -0400 ++++ gtk+-2.10.12/gtk/gtksearchengine.h 2007-05-19 19:51:53.000000000 -0400 @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2005 Novell, Inc. @@ -154,8 +154,8 @@ +G_END_DECLS + +#endif /* __GTK_SEARCH_ENGINE_H__ */ ---- /dev/null 2007-05-14 19:53:51.012713345 -0400 -+++ gtk+-2.10.11/gtk/gtksearchenginebeagle.h 2007-05-15 01:04:07.000000000 -0400 +--- /dev/null 2007-05-19 19:05:57.724948798 -0400 ++++ gtk+-2.10.12/gtk/gtksearchenginebeagle.h 2007-05-19 19:51:53.000000000 -0400 @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2005 Novell, Inc. @@ -216,8 +216,8 @@ +G_END_DECLS + +#endif /* __GTK_SEARCH_ENGINE_BEAGLE_H__ */ ---- /dev/null 2007-05-14 19:53:51.012713345 -0400 -+++ gtk+-2.10.11/gtk/gtksearchengine.c 2007-05-15 01:05:14.000000000 -0400 +--- /dev/null 2007-05-19 19:05:57.724948798 -0400 ++++ gtk+-2.10.12/gtk/gtksearchengine.c 2007-05-19 19:51:53.000000000 -0400 @@ -0,0 +1,199 @@ +/* + * Copyright (C) 2005 Novell, Inc. @@ -418,8 +418,8 @@ + + g_signal_emit (engine, signals[ERROR], 0, error_message); +} ---- /dev/null 2007-05-14 19:53:51.012713345 -0400 -+++ gtk+-2.10.11/gtk/gtksearchenginetracker.c 2007-05-15 01:04:07.000000000 -0400 +--- /dev/null 2007-05-19 19:05:57.724948798 -0400 ++++ gtk+-2.10.12/gtk/gtksearchenginetracker.c 2007-05-19 19:51:53.000000000 -0400 @@ -0,0 +1,362 @@ +/* + * Copyright (C) 2005 Mr Jamie McCracken @@ -783,9 +783,9 @@ + + return GTK_SEARCH_ENGINE (engine); +} ---- gtk+-2.10.11/gtk/Makefile.am.search 2007-03-14 00:07:06.000000000 -0400 -+++ gtk+-2.10.11/gtk/Makefile.am 2007-05-15 01:04:07.000000000 -0400 -@@ -332,6 +332,11 @@ gtk_semi_private_h_sources = \ +--- gtk+-2.10.12/gtk/Makefile.am.search 2007-05-02 12:41:42.000000000 -0400 ++++ gtk+-2.10.12/gtk/Makefile.am 2007-05-19 19:51:53.000000000 -0400 +@@ -333,6 +333,11 @@ gtk_semi_private_h_sources = \ # GTK+ header files that don't get installed gtk_private_h_sources = \ @@ -797,7 +797,7 @@ gtkdndcursors.h \ gtkentryprivate.h \ gtkfilechooserdefault.h \ -@@ -374,6 +379,11 @@ gtk_private_h_sources = \ +@@ -376,6 +381,11 @@ gtk_private_h_sources = \ # GTK+ C sources to build the library from gtk_base_c_sources = \ @@ -809,8 +809,8 @@ fnmatch.c \ gtkaboutdialog.c \ gtkaccelgroup.c \ ---- gtk+-2.10.11/gtk/gtkfilechooserdefault.c.search 2007-03-14 00:07:03.000000000 -0400 -+++ gtk+-2.10.11/gtk/gtkfilechooserdefault.c 2007-05-15 01:04:07.000000000 -0400 +--- gtk+-2.10.12/gtk/gtkfilechooserdefault.c.search 2007-05-02 12:26:59.000000000 -0400 ++++ gtk+-2.10.12/gtk/gtkfilechooserdefault.c 2007-05-19 20:09:30.000000000 -0400 @@ -79,6 +79,8 @@ #include #include @@ -818,9 +818,9 @@ +#include +#include - -@@ -172,13 +174,20 @@ enum { + #ifdef HAVE_UNISTD_H +@@ -173,13 +175,20 @@ enum { SHORTCUTS_COL_PIXBUF, SHORTCUTS_COL_NAME, SHORTCUTS_COL_DATA, @@ -842,7 +842,7 @@ /* Column numbers for the file list */ enum { FILE_LIST_COL_NAME, -@@ -187,6 +196,16 @@ enum { +@@ -188,6 +197,16 @@ enum { FILE_LIST_COL_NUM_COLUMNS }; @@ -859,7 +859,7 @@ /* Identifiers for target types */ enum { GTK_TREE_MODEL_ROW, -@@ -226,9 +245,19 @@ static const GtkTargetEntry file_list_de +@@ -227,9 +246,19 @@ static const GtkTargetEntry file_list_de static const int num_file_list_dest_targets = (sizeof (file_list_dest_targets) / sizeof (file_list_dest_targets[0])); @@ -879,7 +879,7 @@ SHORTCUTS_HOME, SHORTCUTS_DESKTOP, SHORTCUTS_VOLUMES, -@@ -420,6 +449,14 @@ static void location_button_toggled_cb ( +@@ -424,6 +453,14 @@ static void location_button_toggled_cb ( GtkFileChooserDefault *impl); static void location_switch_to_path_bar (GtkFileChooserDefault *impl); @@ -894,7 +894,7 @@ -@@ -429,26 +466,26 @@ typedef struct { +@@ -433,26 +470,26 @@ typedef struct { GtkTreeModelFilter parent; GtkFileChooserDefault *impl; @@ -930,9 +930,9 @@ + GtkTreeModel *child_model, + GtkTreePath *root); - -@@ -664,6 +701,7 @@ _gtk_file_chooser_default_init (GtkFileC + +@@ -687,6 +724,7 @@ _gtk_file_chooser_default_init (GtkFileC impl->reload_state = RELOAD_EMPTY; impl->pending_select_paths = NULL; impl->location_mode = LOCATION_MODE_PATH_BAR; @@ -940,7 +940,7 @@ gtk_box_set_spacing (GTK_BOX (impl), 12); -@@ -679,22 +717,24 @@ shortcuts_free_row_data (GtkFileChooserD +@@ -702,22 +740,24 @@ shortcuts_free_row_data (GtkFileChooserD GtkTreeIter *iter) { gpointer col_data; @@ -969,7 +969,7 @@ { GtkFileSystemVolume *volume; -@@ -705,6 +745,8 @@ shortcuts_free_row_data (GtkFileChooserD +@@ -728,6 +768,8 @@ shortcuts_free_row_data (GtkFileChooserD { GtkFilePath *path; @@ -978,7 +978,7 @@ path = col_data; gtk_file_path_free (path); } -@@ -791,8 +833,11 @@ gtk_file_chooser_default_finalize (GObje +@@ -814,8 +856,11 @@ gtk_file_chooser_default_finalize (GObje GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (object); GSList *l; @@ -992,7 +992,7 @@ shortcuts_free (impl); -@@ -829,6 +874,9 @@ gtk_file_chooser_default_finalize (GObje +@@ -852,6 +897,9 @@ gtk_file_chooser_default_finalize (GObje if (impl->sort_model) g_object_unref (impl->sort_model); @@ -1002,7 +1002,7 @@ g_free (impl->preview_display_name); -@@ -1081,6 +1129,14 @@ set_preview_widget (GtkFileChooserDefaul +@@ -1105,6 +1153,14 @@ set_preview_widget (GtkFileChooserDefaul update_preview_widget_visibility (impl); } @@ -1017,7 +1017,7 @@ /* Re-reads all the icons for the shortcuts, used when the theme changes */ struct ReloadIconsData { -@@ -1151,19 +1207,20 @@ shortcuts_reload_icons (GtkFileChooserDe +@@ -1175,19 +1231,20 @@ shortcuts_reload_icons (GtkFileChooserDe do { gpointer data; @@ -1042,7 +1042,7 @@ { GtkFileSystemVolume *volume; -@@ -1178,46 +1235,53 @@ shortcuts_reload_icons (GtkFileChooserDe +@@ -1202,46 +1259,53 @@ shortcuts_reload_icons (GtkFileChooserDe if (pixbuf) g_object_unref (pixbuf); } @@ -1135,7 +1135,7 @@ } } } -@@ -1349,7 +1413,6 @@ get_file_info_finished (GtkFileSystemHan +@@ -1373,7 +1437,6 @@ get_file_info_finished (GtkFileSystemHan { gint pos = -1; gboolean cancelled = handle->cancelled; @@ -1143,7 +1143,7 @@ GdkPixbuf *pixbuf; GtkTreePath *path; GtkTreeIter iter; -@@ -1414,12 +1477,15 @@ get_file_info_finished (GtkFileSystemHan +@@ -1438,12 +1501,15 @@ get_file_info_finished (GtkFileSystemHan SHORTCUTS_COL_PIXBUF, pixbuf, SHORTCUTS_COL_PIXBUF_VISIBLE, TRUE, SHORTCUTS_COL_NAME, request->label_copy, @@ -1162,7 +1162,7 @@ if (request->type == SHORTCUTS_CURRENT_FOLDER && request->impl->save_folder_combo != NULL) -@@ -1431,7 +1497,7 @@ get_file_info_finished (GtkFileSystemHan +@@ -1455,7 +1521,7 @@ get_file_info_finished (GtkFileSystemHan g_signal_handlers_block_by_func (request->impl->save_folder_combo, G_CALLBACK (save_folder_combo_changed_cb), request->impl); @@ -1171,7 +1171,7 @@ g_signal_handlers_unblock_by_func (request->impl->save_folder_combo, G_CALLBACK (save_folder_combo_changed_cb), request->impl); -@@ -1505,7 +1571,7 @@ _gtk_file_chooser_label_for_uri (const g +@@ -1529,7 +1595,7 @@ _gtk_file_chooser_label_for_uri (const g static void shortcuts_insert_path (GtkFileChooserDefault *impl, int pos, @@ -1180,7 +1180,7 @@ GtkFileSystemVolume *volume, const GtkFilePath *path, const char *label, -@@ -1518,79 +1584,89 @@ shortcuts_insert_path (GtkFileChooserDef +@@ -1542,79 +1608,89 @@ shortcuts_insert_path (GtkFileChooserDef GtkTreeIter iter; GtkIconTheme *icon_theme; @@ -1327,7 +1327,7 @@ } if (pos == -1) -@@ -1605,13 +1681,16 @@ shortcuts_insert_path (GtkFileChooserDef +@@ -1629,13 +1705,16 @@ shortcuts_insert_path (GtkFileChooserDef SHORTCUTS_COL_PIXBUF_VISIBLE, TRUE, SHORTCUTS_COL_NAME, label_copy, SHORTCUTS_COL_DATA, data, @@ -1347,7 +1347,7 @@ if (type == SHORTCUTS_CURRENT_FOLDER && impl->save_folder_combo != NULL) { -@@ -1623,7 +1702,8 @@ shortcuts_insert_path (GtkFileChooserDef +@@ -1647,7 +1726,8 @@ shortcuts_insert_path (GtkFileChooserDef g_signal_handlers_block_by_func (impl->save_folder_combo, G_CALLBACK (save_folder_combo_changed_cb), impl); @@ -1357,7 +1357,7 @@ g_signal_handlers_unblock_by_func (impl->save_folder_combo, G_CALLBACK (save_folder_combo_changed_cb), impl); -@@ -1637,6 +1717,30 @@ shortcuts_insert_path (GtkFileChooserDef +@@ -1661,6 +1741,30 @@ shortcuts_insert_path (GtkFileChooserDef profile_end ("end", NULL); } @@ -1388,7 +1388,7 @@ /* Appends an item for the user's home directory to the shortcuts model */ static void shortcuts_append_home (GtkFileChooserDefault *impl) -@@ -1655,7 +1759,8 @@ shortcuts_append_home (GtkFileChooserDef +@@ -1679,7 +1783,8 @@ shortcuts_append_home (GtkFileChooserDef home_path = gtk_file_system_filename_to_path (impl->file_system, home); @@ -1398,7 +1398,7 @@ gtk_file_path_free (home_path); -@@ -1688,7 +1793,9 @@ shortcuts_append_desktop (GtkFileChooser +@@ -1712,7 +1817,9 @@ shortcuts_append_desktop (GtkFileChooser path = gtk_file_system_filename_to_path (impl->file_system, name); g_free (name); @@ -1409,7 +1409,7 @@ /* We do not actually pop up an error dialog if there is no desktop directory * because some people may really not want to have one. */ -@@ -1727,7 +1834,7 @@ shortcuts_append_paths (GtkFileChooserDe +@@ -1751,7 +1858,7 @@ shortcuts_append_paths (GtkFileChooserDe label = gtk_file_system_get_bookmark_label (impl->file_system, path); /* NULL GError, but we don't really want to show error boxes here */ @@ -1418,7 +1418,7 @@ num_inserted++; g_free (label); -@@ -1746,6 +1853,16 @@ shortcuts_get_index (GtkFileChooserDefau +@@ -1770,6 +1877,16 @@ shortcuts_get_index (GtkFileChooserDefau int n; n = 0; @@ -1435,7 +1435,7 @@ if (where == SHORTCUTS_HOME) goto out; -@@ -1843,15 +1960,18 @@ shortcuts_add_volumes (GtkFileChooserDef +@@ -1867,15 +1984,18 @@ shortcuts_add_volumes (GtkFileChooserDef } } @@ -1457,7 +1457,7 @@ impl->changing_folder = old_changing_folders; -@@ -1861,11 +1981,13 @@ shortcuts_add_volumes (GtkFileChooserDef +@@ -1885,11 +2005,13 @@ shortcuts_add_volumes (GtkFileChooserDef /* Inserts a separator node in the shortcuts list */ static void shortcuts_insert_separator (GtkFileChooserDefault *impl, @@ -1473,7 +1473,7 @@ gtk_list_store_insert (impl->shortcuts_model, &iter, shortcuts_get_index (impl, where)); -@@ -1874,6 +1996,7 @@ shortcuts_insert_separator (GtkFileChoos +@@ -1898,6 +2020,7 @@ shortcuts_insert_separator (GtkFileChoos SHORTCUTS_COL_PIXBUF_VISIBLE, FALSE, SHORTCUTS_COL_NAME, NULL, SHORTCUTS_COL_DATA, NULL, @@ -1481,7 +1481,7 @@ -1); } -@@ -1886,7 +2009,7 @@ shortcuts_add_bookmarks (GtkFileChooserD +@@ -1910,7 +2033,7 @@ shortcuts_add_bookmarks (GtkFileChooserD GtkTreeIter iter; GtkFilePath *list_selected = NULL; GtkFilePath *combo_selected = NULL; @@ -1490,7 +1490,7 @@ gpointer col_data; profile_start ("start", NULL); -@@ -1899,10 +2022,10 @@ shortcuts_add_bookmarks (GtkFileChooserD +@@ -1923,10 +2046,10 @@ shortcuts_add_bookmarks (GtkFileChooserD gtk_tree_model_get (GTK_TREE_MODEL (impl->shortcuts_model), &iter, SHORTCUTS_COL_DATA, &col_data, @@ -1503,7 +1503,7 @@ list_selected = gtk_file_path_copy (col_data); } -@@ -1910,13 +2033,18 @@ shortcuts_add_bookmarks (GtkFileChooserD +@@ -1934,13 +2057,18 @@ shortcuts_add_bookmarks (GtkFileChooserD gtk_combo_box_get_active_iter (GTK_COMBO_BOX (impl->save_folder_combo), &iter)) { @@ -1525,7 +1525,7 @@ combo_selected = gtk_file_path_copy (col_data); } -@@ -1934,8 +2062,11 @@ shortcuts_add_bookmarks (GtkFileChooserD +@@ -1958,8 +2086,11 @@ shortcuts_add_bookmarks (GtkFileChooserD if (impl->num_bookmarks > 0) shortcuts_insert_separator (impl, SHORTCUTS_BOOKMARKS_SEPARATOR); @@ -1539,7 +1539,7 @@ if (list_selected) { -@@ -1949,8 +2080,8 @@ shortcuts_add_bookmarks (GtkFileChooserD +@@ -1973,8 +2104,8 @@ shortcuts_add_bookmarks (GtkFileChooserD pos = shortcut_find_position (impl, combo_selected); if (pos != -1) @@ -1550,7 +1550,7 @@ gtk_file_path_free (combo_selected); } -@@ -1995,11 +2126,11 @@ shortcuts_add_current_folder (GtkFileCho +@@ -2019,11 +2150,11 @@ shortcuts_add_current_folder (GtkFileCho if (base_path && strcmp (gtk_file_path_get_string (base_path), gtk_file_path_get_string (impl->current_folder)) == 0) { @@ -1564,7 +1564,7 @@ if (volume) gtk_file_system_volume_free (impl->file_system, volume); } -@@ -2008,7 +2139,8 @@ shortcuts_add_current_folder (GtkFileCho +@@ -2032,7 +2163,8 @@ shortcuts_add_current_folder (GtkFileCho gtk_file_path_free (base_path); } else if (impl->save_folder_combo != NULL) @@ -1574,7 +1574,7 @@ } /* Updates the current folder row in the shortcuts model */ -@@ -2030,9 +2162,9 @@ shortcuts_update_current_folder (GtkFile +@@ -2054,9 +2186,9 @@ shortcuts_update_current_folder (GtkFile /* Filter function used for the shortcuts filter model */ static gboolean @@ -1587,7 +1587,7 @@ { GtkFileChooserDefault *impl; GtkTreePath *path; -@@ -2059,11 +2191,17 @@ shortcuts_model_create (GtkFileChooserDe +@@ -2083,11 +2215,17 @@ shortcuts_model_create (GtkFileChooserDe GDK_TYPE_PIXBUF, /* pixbuf */ G_TYPE_STRING, /* name */ G_TYPE_POINTER, /* path or volume */ @@ -1606,7 +1606,7 @@ if (impl->file_system) { shortcuts_append_home (impl); -@@ -2071,12 +2209,12 @@ shortcuts_model_create (GtkFileChooserDe +@@ -2095,12 +2233,12 @@ shortcuts_model_create (GtkFileChooserDe shortcuts_add_volumes (impl); } @@ -1624,7 +1624,7 @@ impl, NULL); } -@@ -2294,16 +2432,16 @@ shortcut_find_position (GtkFileChooserDe +@@ -2318,16 +2456,16 @@ shortcut_find_position (GtkFileChooserDe for (i = 0; i < current_folder_separator_idx; i++) { gpointer col_data; @@ -1644,7 +1644,7 @@ { GtkFileSystemVolume *volume; GtkFilePath *base_path; -@@ -2319,7 +2457,7 @@ shortcut_find_position (GtkFileChooserDe +@@ -2343,7 +2481,7 @@ shortcut_find_position (GtkFileChooserDe if (exists) return i; } @@ -1653,7 +1653,7 @@ { GtkFilePath *model_path; -@@ -2425,7 +2563,7 @@ shortcuts_get_selected (GtkFileChooserDe +@@ -2449,7 +2587,7 @@ shortcuts_get_selected (GtkFileChooserDe if (!gtk_tree_selection_get_selected (selection, NULL, &parent_iter)) return FALSE; @@ -1662,7 +1662,7 @@ iter, &parent_iter); return TRUE; -@@ -2448,11 +2586,12 @@ remove_selected_bookmarks (GtkFileChoose +@@ -2472,11 +2610,12 @@ remove_selected_bookmarks (GtkFileChoose SHORTCUTS_COL_DATA, &col_data, SHORTCUTS_COL_REMOVABLE, &removable, -1); @@ -1676,7 +1676,7 @@ path = col_data; error = NULL; -@@ -2609,6 +2748,16 @@ bookmarks_check_add_sensitivity (GtkFile +@@ -2633,6 +2772,16 @@ bookmarks_check_add_sensitivity (GtkFile gboolean active; gchar *tip; @@ -1693,7 +1693,7 @@ selection_check (impl, &num_selected, NULL, &all_folders); if (num_selected == 0) -@@ -3122,7 +3271,7 @@ shortcuts_reorder (GtkFileChooserDefault +@@ -3146,7 +3295,7 @@ shortcuts_reorder (GtkFileChooserDefault { GtkTreeIter iter; gpointer col_data; @@ -1702,7 +1702,7 @@ GtkTreePath *path; int old_position; int bookmarks_index; -@@ -3147,10 +3296,10 @@ shortcuts_reorder (GtkFileChooserDefault +@@ -3171,10 +3320,10 @@ shortcuts_reorder (GtkFileChooserDefault gtk_tree_model_get (GTK_TREE_MODEL (impl->shortcuts_model), &iter, SHORTCUTS_COL_NAME, &name, SHORTCUTS_COL_DATA, &col_data, @@ -1715,7 +1715,7 @@ file_path = col_data; file_path_copy = gtk_file_path_copy (file_path); /* removal below will free file_path, so we need a copy */ -@@ -3234,17 +3383,11 @@ shortcuts_row_separator_func (GtkTreeMod +@@ -3258,17 +3407,11 @@ shortcuts_row_separator_func (GtkTreeMod GtkTreeIter *iter, gpointer data) { @@ -1736,7 +1736,7 @@ } /* Since GtkTreeView has a keybinding attached to '/', we need to catch -@@ -3489,7 +3632,7 @@ shortcuts_list_create (GtkFileChooserDef +@@ -3513,7 +3656,7 @@ shortcuts_list_create (GtkFileChooserDef /* Accessible object name for the file chooser's shortcuts pane */ atk_object_set_name (gtk_widget_get_accessible (impl->browse_shortcuts_tree_view), _("Places")); @@ -1745,7 +1745,7 @@ gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (impl->browse_shortcuts_tree_view), GDK_BUTTON1_MASK, -@@ -3562,8 +3705,7 @@ shortcuts_list_create (GtkFileChooserDef +@@ -3586,8 +3729,7 @@ shortcuts_list_create (GtkFileChooserDef gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (impl->browse_shortcuts_tree_view), shortcuts_row_separator_func, @@ -1755,7 +1755,7 @@ gtk_tree_view_append_column (GTK_TREE_VIEW (impl->browse_shortcuts_tree_view), column); -@@ -3934,6 +4076,8 @@ file_list_update_popup_menu (GtkFileChoo +@@ -3958,6 +4100,8 @@ file_list_update_popup_menu (GtkFileChoo { file_list_build_popup_menu (impl); @@ -1764,7 +1764,7 @@ /* The sensitivity of the Add to Bookmarks item is set in * bookmarks_check_add_sensitivity() */ -@@ -4033,6 +4177,28 @@ list_button_press_event_cb (GtkWidget +@@ -4057,6 +4201,28 @@ list_button_press_event_cb (GtkWidget return TRUE; } @@ -1793,7 +1793,7 @@ /* Creates the widgets for the file list */ static GtkWidget * create_file_list (GtkFileChooserDefault *impl) -@@ -4046,7 +4212,7 @@ create_file_list (GtkFileChooserDefault +@@ -4070,7 +4236,7 @@ create_file_list (GtkFileChooserDefault swin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), @@ -1802,7 +1802,7 @@ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (swin), GTK_SHADOW_IN); -@@ -4136,6 +4302,7 @@ create_file_list (GtkFileChooserDefault +@@ -4160,6 +4326,7 @@ create_file_list (GtkFileChooserDefault gtk_tree_view_column_set_sort_column_id (column, FILE_LIST_COL_SIZE); gtk_tree_view_append_column (GTK_TREE_VIEW (impl->browse_files_tree_view), column); #endif @@ -1810,7 +1810,7 @@ /* Modification time column */ column = gtk_tree_view_column_new (); -@@ -4146,8 +4313,11 @@ create_file_list (GtkFileChooserDefault +@@ -4170,8 +4337,11 @@ create_file_list (GtkFileChooserDefault gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func (column, renderer, list_mtime_data_func, impl, NULL); @@ -1823,7 +1823,7 @@ gtk_widget_show_all (swin); return swin; -@@ -4255,9 +4425,59 @@ save_folder_combo_changed_cb (GtkComboBo +@@ -4279,9 +4449,59 @@ save_folder_combo_changed_cb (GtkComboBo return; if (gtk_combo_box_get_active_iter (combo, &iter)) @@ -1884,7 +1884,7 @@ /* Creates the combo box with the save folders */ static GtkWidget * save_folder_combo_create (GtkFileChooserDefault *impl) -@@ -4265,8 +4485,14 @@ save_folder_combo_create (GtkFileChooser +@@ -4289,8 +4509,14 @@ save_folder_combo_create (GtkFileChooser GtkWidget *combo; GtkCellRenderer *cell; @@ -1900,7 +1900,7 @@ "focus-on-click", FALSE, NULL); gtk_widget_show (combo); -@@ -4288,8 +4514,7 @@ save_folder_combo_create (GtkFileChooser +@@ -4312,8 +4538,7 @@ save_folder_combo_create (GtkFileChooser gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (combo), shortcuts_row_separator_func, @@ -1910,7 +1910,7 @@ g_signal_connect (combo, "changed", G_CALLBACK (save_folder_combo_changed_cb), impl); -@@ -4622,6 +4847,7 @@ browse_widgets_create (GtkFileChooserDef +@@ -4658,6 +4883,7 @@ browse_widgets_create (GtkFileChooserDef hbox = gtk_hbox_new (FALSE, 12); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); @@ -1918,7 +1918,7 @@ location_button_create (impl); gtk_box_pack_start (GTK_BOX (hbox), impl->location_button, FALSE, FALSE, 0); -@@ -5206,6 +5432,9 @@ gtk_file_chooser_default_dispose (GObjec +@@ -5242,6 +5468,9 @@ gtk_file_chooser_default_dispose (GObjec impl->shortcuts_activate_iter_handle = NULL; } @@ -1928,7 +1928,7 @@ remove_settings_signal (impl, gtk_widget_get_screen (GTK_WIDGET (impl))); G_OBJECT_CLASS (_gtk_file_chooser_default_parent_class)->dispose (object); -@@ -5483,31 +5712,32 @@ gtk_file_chooser_default_map (GtkWidget +@@ -5519,31 +5748,32 @@ gtk_file_chooser_default_map (GtkWidget GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->map (widget); @@ -1950,43 +1950,42 @@ - if (impl->current_folder) - { - pending_select_paths_store_selection (impl); -- change_folder_and_display_error (impl, impl->current_folder); +- change_folder_and_display_error (impl, impl->current_folder, FALSE); - } - break; -- -- default: -- g_assert_not_reached (); -- } + if (impl->operation_mode == OPERATION_MODE_BROWSE) + switch (impl->reload_state) + { + case RELOAD_EMPTY: -+ /* The user didn't explicitly give us a folder to display, so we'll use the cwd */ -+ current_working_dir = g_get_current_dir (); -+ gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (impl), current_working_dir); -+ g_free (current_working_dir); -+ break; -+ ++ /* The user didn't explicitly give us a folder to display, so we'll use the cwd */ ++ current_working_dir = g_get_current_dir (); ++ gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (impl), current_working_dir); ++ g_free (current_working_dir); ++ break; ++ + case RELOAD_HAS_FOLDER: -+ /* Nothing; we are already loading or loaded, so we don't need to reload */ -+ break; -+ ++ /* Nothing; we are already loading or loaded, so we don't need to reload */ ++ break; ++ + case RELOAD_WAS_UNMAPPED: -+ /* Just reload the current folder; else continue the pending load. */ -+ if (impl->current_folder) -+ { -+ pending_select_paths_store_selection (impl); -+ change_folder_and_display_error (impl, impl->current_folder); ++ /* Just reload the current folder; else continue the pending load. */ ++ if (impl->current_folder) ++ { ++ pending_select_paths_store_selection (impl); ++ change_folder_and_display_error (impl, impl->current_folder, FALSE); + } -+ break; -+ ++ break; + +- default: +- g_assert_not_reached (); +- } + default: -+ g_assert_not_reached (); ++ g_assert_not_reached (); + } bookmarks_changed_cb (impl->file_system, impl); -@@ -5978,12 +6208,6 @@ pending_select_paths_process (GtkFileCho +@@ -6014,12 +6244,6 @@ pending_select_paths_process (GtkFileCho * but rather on behalf of something else like GtkFileChooserButton. In * that case, the chooser's selection should be what the caller expects, * as the user can't see that something else got selected. See bug #165264. @@ -1999,7 +1998,7 @@ */ if (GTK_WIDGET_MAPPED (impl) && impl->action == GTK_FILE_CHOOSER_ACTION_OPEN) browse_files_select_first_row (impl); -@@ -6030,17 +6254,11 @@ browse_files_model_finished_loading_cb ( +@@ -6066,17 +6290,11 @@ browse_files_model_finished_loading_cb ( profile_end ("end", NULL); } @@ -2020,7 +2019,7 @@ if (impl->browse_files_model) { g_object_unref (impl->browse_files_model); -@@ -6052,6 +6270,20 @@ set_list_model (GtkFileChooserDefault *i +@@ -6088,6 +6306,20 @@ set_list_model (GtkFileChooserDefault *i g_object_unref (impl->sort_model); impl->sort_model = NULL; } @@ -2041,7 +2040,7 @@ set_busy_cursor (impl, TRUE); gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), NULL); -@@ -6126,6 +6358,9 @@ update_chooser_entry (GtkFileChooserDefa +@@ -6162,6 +6394,9 @@ update_chooser_entry (GtkFileChooserDefa struct update_chooser_entry_selected_foreach_closure closure; const char *file_part; @@ -2051,7 +2050,7 @@ if (!(impl->action == GTK_FILE_CHOOSER_ACTION_SAVE || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER || ((impl->action == GTK_FILE_CHOOSER_ACTION_OPEN -@@ -6147,35 +6382,40 @@ update_chooser_entry (GtkFileChooserDefa +@@ -6183,35 +6418,40 @@ update_chooser_entry (GtkFileChooserDefa } else if (closure.num_selected == 1) { @@ -2120,7 +2119,7 @@ } else { -@@ -6382,6 +6622,8 @@ gtk_file_chooser_default_update_current_ +@@ -6425,6 +6665,8 @@ gtk_file_chooser_default_update_current_ profile_start ("start", (char *) path); @@ -2129,7 +2128,7 @@ g_assert (path != NULL); if (impl->local_only && -@@ -6423,6 +6665,9 @@ gtk_file_chooser_default_get_current_fol +@@ -6467,6 +6709,9 @@ gtk_file_chooser_default_get_current_fol { GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser); @@ -2139,7 +2138,7 @@ if (impl->reload_state == RELOAD_EMPTY) { char *current_working_dir; -@@ -6483,9 +6728,9 @@ gtk_file_chooser_default_select_path (Gt +@@ -6527,9 +6772,9 @@ gtk_file_chooser_default_select_path (Gt return FALSE; if (!parent_path) @@ -2151,7 +2150,7 @@ same_path = FALSE; else { -@@ -6581,6 +6826,16 @@ static void +@@ -6625,6 +6870,16 @@ static void gtk_file_chooser_default_select_all (GtkFileChooser *chooser) { GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser); @@ -2168,7 +2167,7 @@ if (impl->select_multiple) gtk_tree_model_foreach (GTK_TREE_MODEL (impl->sort_model), maybe_select, impl); -@@ -6720,6 +6975,10 @@ gtk_file_chooser_default_get_paths (GtkF +@@ -6764,6 +7019,10 @@ gtk_file_chooser_default_get_paths (GtkF struct get_paths_closure info; GtkWindow *toplevel; GtkWidget *current_focus; @@ -2179,7 +2178,7 @@ info.impl = impl; info.result = NULL; -@@ -6731,12 +6990,14 @@ gtk_file_chooser_default_get_paths (GtkF +@@ -6775,12 +7034,14 @@ gtk_file_chooser_default_get_paths (GtkF else current_focus = NULL; @@ -2194,7 +2193,7 @@ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); gtk_tree_selection_selected_foreach (selection, get_paths_foreach, &info); -@@ -6771,8 +7032,12 @@ gtk_file_chooser_default_get_paths (GtkF +@@ -6815,8 +7076,12 @@ gtk_file_chooser_default_get_paths (GtkF return NULL; } @@ -2209,7 +2208,7 @@ } else if (impl->toplevel_last_focus_widget == impl->browse_files_tree_view) goto file_list; -@@ -6941,7 +7206,7 @@ add_shortcut_get_info_cb (GtkFileSystemH +@@ -6985,7 +7250,7 @@ add_shortcut_get_info_cb (GtkFileSystemH pos = shortcuts_get_pos_for_shortcut_folder (data->impl, data->impl->num_shortcuts); @@ -2218,7 +2217,7 @@ out: g_object_unref (data->impl); -@@ -7055,15 +7320,15 @@ gtk_file_chooser_default_remove_shortcut +@@ -7099,15 +7364,15 @@ gtk_file_chooser_default_remove_shortcut for (i = 0; i < impl->num_shortcuts; i++) { gpointer col_data; @@ -2237,7 +2236,7 @@ shortcut = col_data; if (gtk_file_path_compare (shortcut, path) == 0) -@@ -7112,15 +7377,15 @@ gtk_file_chooser_default_list_shortcut_f +@@ -7156,15 +7421,15 @@ gtk_file_chooser_default_list_shortcut_f for (i = 0; i < impl->num_shortcuts; i++) { gpointer col_data; @@ -2256,7 +2255,7 @@ shortcut = col_data; list = g_slist_prepend (list, gtk_file_path_copy (shortcut)); -@@ -7455,6 +7720,23 @@ should_respond_after_confirm_overwrite ( +@@ -7511,6 +7776,23 @@ should_respond_after_confirm_overwrite ( } } @@ -2280,7 +2279,7 @@ static void action_create_folder_cb (GtkFileSystemHandle *handle, const GtkFilePath *path, -@@ -7720,6 +8002,9 @@ gtk_file_chooser_default_should_respond +@@ -7776,6 +8058,9 @@ gtk_file_chooser_default_should_respond g_assert (impl->action >= GTK_FILE_CHOOSER_ACTION_OPEN && impl->action <= GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER); @@ -2290,7 +2289,7 @@ selection_check (impl, &num_selected, &all_files, &all_folders); if (num_selected > 2) -@@ -7856,7 +8141,7 @@ gtk_file_chooser_default_should_respond +@@ -7911,7 +8196,7 @@ gtk_file_chooser_default_should_respond { shortcuts_activate_iter (impl, &iter); @@ -2299,7 +2298,7 @@ } else goto file_list; -@@ -7870,6 +8155,11 @@ gtk_file_chooser_default_should_respond +@@ -7925,6 +8210,11 @@ gtk_file_chooser_default_should_respond */ goto file_list; } @@ -2311,7 +2310,7 @@ else if (impl->location_entry && impl->toplevel_last_focus_widget == impl->location_entry) { /* The focus is on a dialog's action area button, *and* the widget that -@@ -7919,15 +8209,453 @@ gtk_file_chooser_default_initial_focus ( +@@ -7974,22 +8264,460 @@ gtk_file_chooser_default_initial_focus ( gtk_widget_grab_focus (widget); } @@ -2332,8 +2331,14 @@ + GtkFilePath *file_path_copy; - /* NULL filters are allowed to reset to non-filtered status +- */ +- filter_index = g_slist_index (impl->filters, filter); +- if (impl->filters && filter && filter_index < 0) +- return; + list = data; -+ + +- if (impl->current_filter) +- g_object_unref (impl->current_filter); + gtk_tree_model_get (model, iter, SEARCH_MODEL_COL_PATH, &file_path, -1); + file_path_copy = gtk_file_path_copy (file_path); + *list = g_slist_prepend (*list, file_path_copy); @@ -2768,10 +2773,17 @@ + int filter_index; + + /* NULL filters are allowed to reset to non-filtered status - */ - filter_index = g_slist_index (impl->filters, filter); - if (impl->filters && filter && filter_index < 0) -@@ -7967,28 +8695,44 @@ check_preview_change (GtkFileChooserDefa ++ */ ++ filter_index = g_slist_index (impl->filters, filter); ++ if (impl->filters && filter && filter_index < 0) ++ return; ++ ++ if (impl->current_filter) ++ g_object_unref (impl->current_filter); + impl->current_filter = filter; + if (impl->current_filter) + { +@@ -8022,28 +8750,44 @@ check_preview_change (GtkFileChooserDefa { GtkTreePath *cursor_path; const GtkFilePath *new_path; @@ -2833,7 +2845,7 @@ } if (new_path != impl->preview_path && -@@ -8004,7 +8748,7 @@ check_preview_change (GtkFileChooserDefa +@@ -8059,7 +8803,7 @@ check_preview_change (GtkFileChooserDefa if (new_path) { impl->preview_path = gtk_file_path_copy (new_path); @@ -2842,7 +2854,7 @@ } else { -@@ -8073,6 +8817,8 @@ shortcuts_activate_volume (GtkFileChoose +@@ -8128,6 +8872,8 @@ shortcuts_activate_volume (GtkFileChoose { GtkFilePath *path; @@ -2851,28 +2863,27 @@ /* We ref the file chooser since volume_mount() may run a main loop, and the * user could close the file chooser window in the meantime. */ -@@ -8093,6 +8839,8 @@ shortcuts_activate_volume (GtkFileChoose +@@ -8148,6 +8894,7 @@ shortcuts_activate_volume (GtkFileChoose if (path != NULL) { - change_folder_and_display_error (impl, path); -+ focus_browse_tree_view_if_possible (impl); -+ + change_folder_and_display_error (impl, path, FALSE); ++ focus_browse_tree_view_if_possible (impl); gtk_file_path_free (path); } } -@@ -8125,7 +8873,10 @@ shortcuts_activate_get_info_cb (GtkFileS +@@ -8180,7 +8927,10 @@ shortcuts_activate_get_info_cb (GtkFileS goto out; if (!error && gtk_file_info_get_is_folder (info)) -- change_folder_and_display_error (data->impl, data->path); +- change_folder_and_display_error (data->impl, data->path, FALSE); + { -+ change_folder_and_display_error (data->impl, data->path); ++ change_folder_and_display_error (data->impl, data->path, FALSE); + focus_browse_tree_view_if_possible (data->impl); + } else gtk_file_chooser_default_select_path (GTK_FILE_CHOOSER (data->impl), data->path, NULL); -@@ -8142,26 +8893,25 @@ shortcuts_activate_iter (GtkFileChooserD +@@ -8197,26 +8947,25 @@ shortcuts_activate_iter (GtkFileChooserD GtkTreeIter *iter) { gpointer col_data; @@ -2904,7 +2915,7 @@ { GtkFileSystemVolume *volume; -@@ -8169,7 +8919,7 @@ shortcuts_activate_iter (GtkFileChooserD +@@ -8224,7 +8973,7 @@ shortcuts_activate_iter (GtkFileChooserD shortcuts_activate_volume (impl, volume); } @@ -2913,7 +2924,7 @@ { struct ShortcutsActivateData *data; -@@ -8182,6 +8932,10 @@ shortcuts_activate_iter (GtkFileChooserD +@@ -8237,6 +8986,10 @@ shortcuts_activate_iter (GtkFileChooserD GTK_FILE_INFO_IS_FOLDER, shortcuts_activate_get_info_cb, data); } @@ -2924,7 +2935,7 @@ } /* Callback used when a row in the shortcuts list is activated */ -@@ -8194,15 +8948,13 @@ shortcuts_row_activated_cb (GtkTreeView +@@ -8249,15 +9002,13 @@ shortcuts_row_activated_cb (GtkTreeView GtkTreeIter iter; GtkTreeIter child_iter; @@ -2942,24 +2953,24 @@ } /* Handler for GtkWidget::key-press-event on the shortcuts list */ -@@ -8242,8 +8994,15 @@ shortcuts_select_func (GtkTreeSelection +@@ -8297,8 +9048,15 @@ shortcuts_select_func (GtkTreeSelection gpointer data) { GtkFileChooserDefault *impl = data; + GtkTreeIter filter_iter; + ShortcutType shortcut_type; - -- return (*gtk_tree_path_get_indices (path) != shortcuts_get_index (impl, SHORTCUTS_BOOKMARKS_SEPARATOR)); ++ + if (!gtk_tree_model_get_iter (impl->shortcuts_pane_filter_model, &filter_iter, path)) + g_assert_not_reached (); -+ + +- return (*gtk_tree_path_get_indices (path) != shortcuts_get_index (impl, SHORTCUTS_BOOKMARKS_SEPARATOR)); + gtk_tree_model_get (impl->shortcuts_pane_filter_model, &filter_iter, SHORTCUTS_COL_TYPE, &shortcut_type, -1); + + return shortcut_type != SHORTCUT_TYPE_SEPARATOR; } static gboolean -@@ -8255,6 +9014,9 @@ list_select_func (GtkTreeSelection *se +@@ -8310,6 +9068,9 @@ list_select_func (GtkTreeSelection *se { GtkFileChooserDefault *impl = data; @@ -2969,7 +2980,7 @@ if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER) { -@@ -8280,7 +9042,7 @@ list_selection_changed (GtkTreeSelection +@@ -8335,7 +9096,7 @@ list_selection_changed (GtkTreeSelection GtkFileChooserDefault *impl) { /* See if we are in the new folder editable row for Save mode */ @@ -2978,16 +2989,7 @@ { const GtkFileInfo *info; gboolean had_selection; -@@ -8295,6 +9057,8 @@ list_selection_changed (GtkTreeSelection - - out: - -+ /* AQUI: cambiar las siguientes funciones para que acepten SEARCH */ -+ - update_chooser_entry (impl); - check_preview_change (impl); - bookmarks_check_add_sensitivity (impl); -@@ -8312,6 +9076,12 @@ list_row_activated (GtkTreeView +@@ -8368,6 +9129,12 @@ list_row_activated (GtkTreeView GtkTreeIter iter, child_iter; const GtkFileInfo *info; @@ -3000,7 +3002,7 @@ if (!gtk_tree_model_get_iter (GTK_TREE_MODEL (impl->sort_model), &iter, path)) return; -@@ -8382,6 +9152,15 @@ list_icon_data_func (GtkTreeViewColumn * +@@ -8438,6 +9205,15 @@ list_icon_data_func (GtkTreeViewColumn * const GtkFileInfo *info; gboolean sensitive = TRUE; @@ -3016,7 +3018,7 @@ profile_start ("start", NULL); info = get_list_file_info (impl, iter); -@@ -8431,13 +9210,33 @@ list_name_data_func (GtkTreeViewColumn * +@@ -8487,13 +9263,33 @@ list_name_data_func (GtkTreeViewColumn * gpointer data) { GtkFileChooserDefault *impl = data; @@ -3052,7 +3054,7 @@ NULL); return; -@@ -8453,6 +9252,7 @@ list_name_data_func (GtkTreeViewColumn * +@@ -8509,6 +9305,7 @@ list_name_data_func (GtkTreeViewColumn * g_object_set (cell, "text", gtk_file_info_get_display_name (info), "sensitive", sensitive, @@ -3060,7 +3062,7 @@ NULL); } -@@ -8514,7 +9314,6 @@ list_mtime_data_func (GtkTreeViewColumn +@@ -8570,7 +9367,6 @@ list_mtime_data_func (GtkTreeViewColumn gpointer data) { GtkFileChooserDefault *impl; @@ -3068,7 +3070,7 @@ GtkFileTime time_mtime; GDate mtime, now; int days_diff; -@@ -8523,17 +9322,35 @@ list_mtime_data_func (GtkTreeViewColumn +@@ -8579,17 +9375,35 @@ list_mtime_data_func (GtkTreeViewColumn impl = data; @@ -3112,7 +3114,7 @@ if (time_mtime == 0) strcpy (buf, _("Unknown")); -@@ -8564,10 +9381,6 @@ list_mtime_data_func (GtkTreeViewColumn +@@ -8620,10 +9434,6 @@ list_mtime_data_func (GtkTreeViewColumn } } @@ -3123,7 +3125,7 @@ g_object_set (cell, "text", buf, "sensitive", sensitive, -@@ -8593,7 +9406,23 @@ location_set_user_text (GtkFileChooserDe +@@ -8649,7 +9459,23 @@ location_set_user_text (GtkFileChooserDe static void location_popup_handler (GtkFileChooserDefault *impl, const gchar *path) @@ -3135,7 +3137,7 @@ + + search_switch_to_browse_mode (impl); /* This will give us the location widgets back */ + if (impl->current_folder) -+ change_folder_and_display_error (impl, impl->current_folder); ++ change_folder_and_display_error (impl, impl->current_folder, FALSE); + + if (impl->location_mode == LOCATION_MODE_PATH_BAR) + widget_to_focus = impl->browse_files_tree_view; @@ -3148,7 +3150,7 @@ if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER) { -@@ -8662,6 +9491,7 @@ switch_to_shortcut (GtkFileChooserDefaul +@@ -8718,6 +9544,7 @@ switch_to_shortcut (GtkFileChooserDefaul g_assert_not_reached (); shortcuts_activate_iter (impl, &iter); @@ -3156,7 +3158,7 @@ } /* Handler for the "home-folder" keybinding signal */ -@@ -8706,26 +9536,26 @@ quick_bookmark_handler (GtkFileChooserDe +@@ -8769,26 +9596,26 @@ show_hidden_handler (GtkFileChooserDefau /* Drag and drop interfaces */ static void @@ -3189,7 +3191,7 @@ pos = *gtk_tree_path_get_indices (path); bookmarks_pos = shortcuts_get_index (model->impl, SHORTCUTS_BOOKMARKS); -@@ -8735,13 +9565,13 @@ shortcuts_model_filter_row_draggable (Gt +@@ -8798,13 +9625,13 @@ shortcuts_model_filter_row_draggable (Gt /* GtkTreeDragSource::drag_data_get implementation for the shortcuts filter model */ static gboolean @@ -3208,7 +3210,7 @@ /* FIXME */ -@@ -8750,30 +9580,30 @@ shortcuts_model_filter_drag_data_get (Gt +@@ -8813,30 +9640,30 @@ shortcuts_model_filter_drag_data_get (Gt /* Fill the GtkTreeDragSourceIface vtable */ static void @@ -3250,8 +3252,8 @@ "child-model", child_model, "virtual-root", root, NULL); ---- gtk+-2.10.11/gtk/gtkfilechooserprivate.h.search 2007-03-14 00:07:03.000000000 -0400 -+++ gtk+-2.10.11/gtk/gtkfilechooserprivate.h 2007-05-15 01:04:07.000000000 -0400 +--- gtk+-2.10.12/gtk/gtkfilechooserprivate.h.search 2007-05-02 12:26:59.000000000 -0400 ++++ gtk+-2.10.12/gtk/gtkfilechooserprivate.h 2007-05-19 19:51:53.000000000 -0400 @@ -25,6 +25,8 @@ #include "gtkfilesystem.h" #include "gtkfilesystemmodel.h" @@ -3348,8 +3350,8 @@ guint expand_folders : 1; #if 0 ---- /dev/null 2007-05-14 19:53:51.012713345 -0400 -+++ gtk+-2.10.11/gtk/gtksearchenginesimple.h 2007-05-15 01:04:07.000000000 -0400 +--- /dev/null 2007-05-19 19:05:57.724948798 -0400 ++++ gtk+-2.10.12/gtk/gtksearchenginesimple.h 2007-05-19 19:51:53.000000000 -0400 @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2005 Red Hat, Inc @@ -3410,8 +3412,8 @@ +G_END_DECLS + +#endif /* __GTK_SEARCH_ENGINE_SIMPLE_H__ */ ---- /dev/null 2007-05-14 19:53:51.012713345 -0400 -+++ gtk+-2.10.11/gtk/gtksearchenginesimple.c 2007-05-15 01:04:50.000000000 -0400 +--- /dev/null 2007-05-19 19:05:57.724948798 -0400 ++++ gtk+-2.10.12/gtk/gtksearchenginesimple.c 2007-05-19 19:51:53.000000000 -0400 @@ -0,0 +1,374 @@ +/* + * Copyright (C) 2005 Red Hat, Inc @@ -3787,8 +3789,8 @@ + + return engine; +} ---- /dev/null 2007-05-14 19:53:51.012713345 -0400 -+++ gtk+-2.10.11/gtk/gtksearchenginebeagle.c 2007-05-15 01:04:07.000000000 -0400 +--- /dev/null 2007-05-19 19:05:57.724948798 -0400 ++++ gtk+-2.10.12/gtk/gtksearchenginebeagle.c 2007-05-19 19:51:53.000000000 -0400 @@ -0,0 +1,420 @@ +/* + * Copyright (C) 2005 Novell, Inc. @@ -4210,8 +4212,8 @@ + + return GTK_SEARCH_ENGINE (engine); +} ---- /dev/null 2007-05-14 19:53:51.012713345 -0400 -+++ gtk+-2.10.11/gtk/gtkquery.c 2007-05-15 01:04:07.000000000 -0400 +--- /dev/null 2007-05-19 19:05:57.724948798 -0400 ++++ gtk+-2.10.12/gtk/gtkquery.c 2007-05-19 19:51:53.000000000 -0400 @@ -0,0 +1,142 @@ +/* + * Copyright (C) 2005 Novell, Inc. @@ -4355,8 +4357,8 @@ + g_strdup (mime_type)); +} + ---- /dev/null 2007-05-14 19:53:51.012713345 -0400 -+++ gtk+-2.10.11/gtk/gtkquery.h 2007-05-15 01:04:07.000000000 -0400 +--- /dev/null 2007-05-19 19:05:57.724948798 -0400 ++++ gtk+-2.10.12/gtk/gtkquery.h 2007-05-19 19:51:53.000000000 -0400 @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2005 Novell, Inc. diff --git a/gtk2.spec b/gtk2.spec index dfaccaf..406b958 100644 --- a/gtk2.spec +++ b/gtk2.spec @@ -10,16 +10,16 @@ %define cairo_version %{cairo_base_version}-1 %define libpng_version 2:1.2.2-16 -%define base_version 2.10.11 +%define base_version 2.10.12 %define bin_version 2.10.0 Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X Name: gtk2 Version: %{base_version} -Release: 6%{?dist} +Release: 1%{?dist} License: LGPL Group: System Environment/Libraries -Source: http://ftp.gnome.org/pub/gnome/sources/gtk+/2.10/gtk+-%{version}.tar.bz2 +Source: http://download.gnome.org/sources/gtk+/2.10/gtk+-%{version}.tar.bz2 Source1: update-gdk-pixbuf-loaders Source2: update-gtk-immodules @@ -28,15 +28,13 @@ Patch0: gtk+-2.4.1-lib64.patch # Fedora patch Patch1: gtk+-2.8.10-set-invisible-char-to-bullet.patch # Filechooser search -Patch2: gtk+-2.10.8-search.patch +Patch2: gtk+-2.10.12-search.patch # use fam for recent-files Patch3: gtk+-2.10.3-fam.patch # backport from HEAD Patch7: gtk+-2.10.7-cursor-blink.patch # fixed in upstream cvs Patch10: gtk+-2.10.4-im-reset.patch -# fixed in upstream cvs -Patch11: raw-printers.patch Patch12: gtk+-2.10.11-user-dirs.patch BuildRequires: atk-devel >= %{atk_version} @@ -123,7 +121,6 @@ docs for the GTK+ widget toolkit. %patch3 -p1 -b .fam %patch7 -p1 -b .cursor-blink %patch10 -p1 -b .im-reset -%patch11 -p1 -b .raw-printers %patch12 -p1 -b .user-dirs for i in config.guess config.sub ; do @@ -291,6 +288,10 @@ rm -rf $RPM_BUILD_ROOT %doc tmpdocs/examples %changelog +* Sat May 19 2007 Matthias Clasen - 1.10.12-1 +- Update to 2.10.12 +- Drop upstreamed patches + * Tue May 15 2007 Matthias Clasen - 1.10.11-6 - Backport some fixes for the ftw()-based search engine diff --git a/raw-printers.patch b/raw-printers.patch deleted file mode 100644 index a1a476a..0000000 --- a/raw-printers.patch +++ /dev/null @@ -1,353 +0,0 @@ ---- gtk+-2.10.8/modules/printbackends/cups/gtkcupsutils.h.raw-printers 2007-01-16 22:15:15.000000000 -0500 -+++ gtk+-2.10.8/modules/printbackends/cups/gtkcupsutils.h 2007-03-28 12:22:59.000000000 -0400 -@@ -33,6 +33,14 @@ - - typedef enum - { -+ GTK_CUPS_ERROR_HTTP, -+ GTK_CUPS_ERROR_IPP, -+ GTK_CUPS_ERROR_IO, -+ GTK_CUPS_ERROR_GENERAL -+} GtkCupsErrorType; -+ -+typedef enum -+{ - GTK_CUPS_POST, - GTK_CUPS_GET - } GtkCupsRequestType; -@@ -126,6 +134,9 @@ - const gchar *value); - gboolean gtk_cups_result_is_error (GtkCupsResult *result); - ipp_t * gtk_cups_result_get_response (GtkCupsResult *result); -+GtkCupsErrorType gtk_cups_result_get_error_type (GtkCupsResult *result); -+int gtk_cups_result_get_error_status (GtkCupsResult *result); -+int gtk_cups_result_get_error_code (GtkCupsResult *result); - const char * gtk_cups_result_get_error_string (GtkCupsResult *result); - - G_END_DECLS ---- gtk+-2.10.8/modules/printbackends/cups/gtkprintbackendcups.c.raw-printers 2007-01-16 22:15:15.000000000 -0500 -+++ gtk+-2.10.8/modules/printbackends/cups/gtkprintbackendcups.c 2007-03-28 12:22:59.000000000 -0400 -@@ -572,10 +572,17 @@ - g_print ("CUPS Backend: %s \n", G_STRFUNC, source)); - - if (gtk_cups_result_is_error (result)) -- g_warning ("Error result: %s", gtk_cups_result_get_error_string (result)); -+ { -+ GTK_NOTE (PRINTING, -+ g_print("Error result: %s (type %i, status %i, code %i)\n", -+ gtk_cups_result_get_error_string (result), -+ gtk_cups_result_get_error_type (result), -+ gtk_cups_result_get_error_status (result), -+ gtk_cups_result_get_error_code (result))); -+ } - - ep_callback (GTK_PRINT_BACKEND (dispatch->backend), result, user_data); -- -+ - return FALSE; - } - -@@ -1223,7 +1230,18 @@ - - if (gtk_cups_result_is_error (result)) - { -- g_signal_emit_by_name (printer, "details-acquired", FALSE); -+ gboolean success = FALSE; -+ -+ /* if we get a 404 then it is just a raw printer without a ppd -+ and not an error */ -+ if ((gtk_cups_result_get_error_type (result) == GTK_CUPS_ERROR_HTTP) && -+ (gtk_cups_result_get_error_status (result) == HTTP_NOT_FOUND)) -+ { -+ gtk_printer_set_has_details (printer, TRUE); -+ success = TRUE; -+ } -+ -+ g_signal_emit_by_name (printer, "details-acquired", success); - return; - } - ---- gtk+-2.10.8/modules/printbackends/cups/gtkcupsutils.c.raw-printers 2007-01-16 22:15:15.000000000 -0500 -+++ gtk+-2.10.8/modules/printbackends/cups/gtkcupsutils.c 2007-03-28 12:23:37.000000000 -0400 -@@ -51,6 +51,11 @@ - { - gchar *error_msg; - ipp_t *ipp_response; -+ GtkCupsErrorType error_type; -+ -+ /* some error types like HTTP_ERROR have a status and a code */ -+ int error_status; -+ int error_code; - - guint is_error : 1; - guint is_ipp_response : 1; -@@ -73,15 +78,20 @@ - _get_read_data}; - - static void --gtk_cups_result_set_error (GtkCupsResult *result, -- const char *error_msg, -+gtk_cups_result_set_error (GtkCupsResult *result, -+ GtkCupsErrorType error_type, -+ int error_status, -+ int error_code, -+ const char *error_msg, - ...) - { - va_list args; - - result->is_ipp_response = FALSE; -- - result->is_error = TRUE; -+ result->error_type = error_type; -+ result->error_status = error_status; -+ result->error_code = error_code; - - va_start (args, error_msg); - result->error_msg = g_strdup_vprintf (error_msg, args); -@@ -206,7 +216,13 @@ - if (request->attempts > _GTK_CUPS_MAX_ATTEMPTS && - request->state != GTK_CUPS_REQUEST_DONE) - { -- gtk_cups_result_set_error (request->result, "Too many failed attempts"); -+ /* TODO: should add a status or error code for too many failed attempts */ -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_GENERAL, -+ 0, -+ 0, -+ "Too many failed attempts"); -+ - request->state = GTK_CUPS_REQUEST_DONE; - request->poll_state = GTK_CUPS_HTTP_IDLE; - } -@@ -622,7 +638,12 @@ - request->state = GTK_CUPS_POST_DONE; - request->poll_state = GTK_CUPS_HTTP_IDLE; - -- gtk_cups_result_set_error (request->result, "Failed Post"); -+ /* TODO: should add a status or error code for failed post */ -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_GENERAL, -+ 0, -+ 0, -+ "Failed Post"); - } - - request->attempts++; -@@ -649,10 +670,16 @@ - - if (ipp_status == IPP_ERROR) - { -+ int cups_error = cupsLastError (); - request->state = GTK_CUPS_POST_DONE; - request->poll_state = GTK_CUPS_HTTP_IDLE; - -- gtk_cups_result_set_error (request->result, "%s",ippErrorString (cupsLastError ())); -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_IPP, -+ ipp_status, -+ cups_error, -+ "%s", -+ ippErrorString (cups_error)); - return; - } - -@@ -708,7 +735,12 @@ - request->state = GTK_CUPS_POST_DONE; - request->poll_state = GTK_CUPS_HTTP_IDLE; - -- gtk_cups_result_set_error (request->result, "Error reading from cache file: %s", error->message); -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_IO, -+ io_status, -+ error->code, -+ "Error reading from cache file: %s", -+ error->message); - - g_error_free (error); - return; -@@ -729,10 +761,19 @@ - if (httpWrite(request->http, buffer, (int) bytes) < bytes) - #endif /* HAVE_CUPS_API_1_2 */ - { -+ int http_errno; -+ -+ http_errno = httpError (request->http); -+ - request->state = GTK_CUPS_POST_DONE; - request->poll_state = GTK_CUPS_HTTP_IDLE; - -- gtk_cups_result_set_error (request->result, "Error writting to socket in Post %s", strerror (httpError (request->http))); -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_HTTP, -+ http_status, -+ http_errno, -+ "Error writing to socket in Post %s", -+ g_strerror (http_errno)); - return; - } - } -@@ -765,7 +806,12 @@ - request->state = GTK_CUPS_POST_DONE; - request->poll_state = GTK_CUPS_HTTP_IDLE; - -- gtk_cups_result_set_error (request->result, "Can't prompt for authorization"); -+ /* TODO: create a not implemented error code */ -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_GENERAL, -+ 0, -+ 0, -+ "Can't prompt for authorization"); - return; - } - else if (http_status == HTTP_ERROR) -@@ -785,7 +831,12 @@ - request->state = GTK_CUPS_POST_DONE; - request->poll_state = GTK_CUPS_HTTP_IDLE; - -- gtk_cups_result_set_error (request->result, "Unknown HTTP error"); -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_HTTP, -+ http_status, -+ error, -+ "Unknown HTTP error"); -+ - return; - } - } -@@ -817,7 +868,12 @@ - else - { - request->state = GTK_CUPS_POST_DONE; -- gtk_cups_result_set_error (request->result, "HTTP Error in POST %s", strerror (http_errno)); -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_HTTP, -+ http_status, -+ http_errno, -+ "HTTP Error in POST %s", -+ g_strerror (http_errno)); - request->poll_state = GTK_CUPS_HTTP_IDLE; - - httpFlush(request->http); -@@ -866,7 +922,13 @@ - - if (ipp_status == IPP_ERROR) - { -- gtk_cups_result_set_error (request->result, "%s", ippErrorString (cupsLastError())); -+ int ipp_error = cupsLastError (); -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_IPP, -+ ipp_status, -+ ipp_error, -+ "%s", -+ ippErrorString (ipp_error)); - - ippDelete (request->result->ipp_response); - request->result->ipp_response = NULL; -@@ -891,7 +953,12 @@ - - if (request->data_io == NULL) - { -- gtk_cups_result_set_error (request->result, "Get requires an open io channel"); -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_IO, -+ G_IO_STATUS_ERROR, -+ G_IO_CHANNEL_ERROR_FAILED, -+ "Get requires an open io channel"); -+ - request->state = GTK_CUPS_GET_DONE; - request->poll_state = GTK_CUPS_HTTP_IDLE; - -@@ -909,8 +976,13 @@ - { - request->state = GTK_CUPS_GET_DONE; - request->poll_state = GTK_CUPS_HTTP_IDLE; -- -- gtk_cups_result_set_error (request->result, "Failed Get"); -+ -+ /* TODO: should add a status or error code for failed GET */ -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_GENERAL, -+ 0, -+ 0, -+ "Failed Get"); - } - - request->attempts++; -@@ -947,8 +1019,13 @@ - g_warning ("NOT IMPLEMENTED: We need to prompt for authorization in a non blocking manner"); - request->state = GTK_CUPS_GET_DONE; - request->poll_state = GTK_CUPS_HTTP_IDLE; -- -- gtk_cups_result_set_error (request->result, "Can't prompt for authorization"); -+ -+ /* TODO: should add a status or error code for not implemented */ -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_GENERAL, -+ 0, -+ 0, -+ "Can't prompt for authorization"); - return; - } - /* TODO: detect ssl in configure.ac */ -@@ -967,7 +1044,7 @@ - request->attempts++; - goto again; - } --#endif -+#endif - else if (http_status != HTTP_OK) - { - int http_errno; -@@ -979,7 +1056,12 @@ - else - { - request->state = GTK_CUPS_GET_DONE; -- gtk_cups_result_set_error (request->result, "HTTP Error in GET %s", strerror (http_errno)); -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_HTTP, -+ http_status, -+ http_errno, -+ "HTTP Error in GET %s", -+ g_strerror (http_errno)); - request->poll_state = GTK_CUPS_HTTP_IDLE; - httpFlush(request->http); - -@@ -1055,7 +1137,11 @@ - request->state = GTK_CUPS_POST_DONE; - request->poll_state = GTK_CUPS_HTTP_IDLE; - -- gtk_cups_result_set_error (request->result, error->message); -+ gtk_cups_result_set_error (request->result, -+ GTK_CUPS_ERROR_IO, -+ io_status, -+ error->code, -+ error->message); - g_error_free (error); - } - } -@@ -1078,6 +1164,24 @@ - return result->ipp_response; - } - -+GtkCupsErrorType -+gtk_cups_result_get_error_type (GtkCupsResult *result) -+{ -+ return result->error_type; -+} -+ -+int -+gtk_cups_result_get_error_status (GtkCupsResult *result) -+{ -+ return result->error_status; -+} -+ -+int -+gtk_cups_result_get_error_code (GtkCupsResult *result) -+{ -+ return result->error_code; -+} -+ - const char * - gtk_cups_result_get_error_string (GtkCupsResult *result) - { diff --git a/sources b/sources index 77fb646..13e18d6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3b32eab43bf5195d981867d25ba55d66 gtk+-2.10.11.tar.bz2 +cf969c62134c662ff07e64613ed6c11f gtk+-2.10.12.tar.bz2