diff options
author | Alexander Nedotsukov <bland@FreeBSD.org> | 2004-08-14 17:49:06 +0000 |
---|---|---|
committer | Alexander Nedotsukov <bland@FreeBSD.org> | 2004-08-14 17:49:06 +0000 |
commit | 7831e5b74da8634e68c4238280891d504a00e311 (patch) | |
tree | 3b8e7412b8a351cf25f760b667ab6fef9fd5a923 /x11-toolkits | |
parent | Fix build with gcc-3.4 (diff) |
Fix a bug in GtkFileChooser which prevent files to be opened.
Obtained from: GNOME Bugzilla (#150099)
Notes
Notes:
svn path=/head/; revision=116209
Diffstat (limited to 'x11-toolkits')
-rw-r--r-- | x11-toolkits/gtk20/Makefile | 1 | ||||
-rw-r--r-- | x11-toolkits/gtk20/files/patch-al | 69 | ||||
-rw-r--r-- | x11-toolkits/gtk30/Makefile | 1 | ||||
-rw-r--r-- | x11-toolkits/gtk30/files/patch-al | 69 |
4 files changed, 140 insertions, 0 deletions
diff --git a/x11-toolkits/gtk20/Makefile b/x11-toolkits/gtk20/Makefile index 1969ebbaf805..f36187a07060 100644 --- a/x11-toolkits/gtk20/Makefile +++ b/x11-toolkits/gtk20/Makefile @@ -7,6 +7,7 @@ PORTNAME= gtk PORTVERSION= 2.4.6 +PORTREVISION= 1 CATEGORIES= x11-toolkits MASTER_SITES= ${MASTER_SITE_GNOME:S,%SUBDIR%,sources/gtk+/2.4,} \ ftp://ftp.gtk.org/pub/gtk/v2.3/ \ diff --git a/x11-toolkits/gtk20/files/patch-al b/x11-toolkits/gtk20/files/patch-al new file mode 100644 index 000000000000..65c0564fc6e4 --- /dev/null +++ b/x11-toolkits/gtk20/files/patch-al @@ -0,0 +1,69 @@ +--- gtk/gtkfilechooserdefault.c.orig 2004-08-13 21:01:49.000000000 +0300 ++++ gtk/gtkfilechooserdefault.c 2004-08-14 20:11:58.000000000 +0300 +@@ -1832,7 +1832,6 @@ + + struct selection_check_closure { + GtkFileChooserDefault *impl; +- gboolean empty; + gboolean all_files; + gboolean all_folders; + }; +@@ -1850,7 +1849,6 @@ + gboolean is_folder; + + closure = data; +- closure->empty = FALSE; + + gtk_tree_model_sort_convert_iter_to_child_iter (closure->impl->sort_model, &child_iter, iter); + +@@ -1864,23 +1862,23 @@ + /* Checks whether the selected items in the file list are all files or all folders */ + static void + selection_check (GtkFileChooserDefault *impl, +- gboolean *empty, ++ int *num_selected, + gboolean *all_files, + gboolean *all_folders) + { + struct selection_check_closure closure; + GtkTreeSelection *selection; ++ int selected_rows; + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); + ++ selected_rows = gtk_tree_selection_count_selected_rows (selection); ++ + if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER + || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER) + { +- if (gtk_tree_selection_count_selected_rows (selection) == 0) +- closure.empty = TRUE; +- else ++ if (selected_rows > 0) + { +- closure.empty = FALSE; + closure.all_files = FALSE; + closure.all_folders = TRUE; + } +@@ -1891,7 +1889,6 @@ + || impl->action == GTK_FILE_CHOOSER_ACTION_SAVE); + + closure.impl = impl; +- closure.empty = TRUE; + closure.all_files = TRUE; + closure.all_folders = TRUE; + +@@ -1900,10 +1897,10 @@ + &closure); + } + +- g_assert (closure.empty || !(closure.all_files && closure.all_folders)); ++ g_assert (selected_rows == 0 || !(closure.all_files && closure.all_folders)); + +- if (empty) +- *empty = closure.empty; ++ if (num_selected) ++ *num_selected = selected_rows; + + if (all_files) + *all_files = closure.all_files; diff --git a/x11-toolkits/gtk30/Makefile b/x11-toolkits/gtk30/Makefile index 1969ebbaf805..f36187a07060 100644 --- a/x11-toolkits/gtk30/Makefile +++ b/x11-toolkits/gtk30/Makefile @@ -7,6 +7,7 @@ PORTNAME= gtk PORTVERSION= 2.4.6 +PORTREVISION= 1 CATEGORIES= x11-toolkits MASTER_SITES= ${MASTER_SITE_GNOME:S,%SUBDIR%,sources/gtk+/2.4,} \ ftp://ftp.gtk.org/pub/gtk/v2.3/ \ diff --git a/x11-toolkits/gtk30/files/patch-al b/x11-toolkits/gtk30/files/patch-al new file mode 100644 index 000000000000..65c0564fc6e4 --- /dev/null +++ b/x11-toolkits/gtk30/files/patch-al @@ -0,0 +1,69 @@ +--- gtk/gtkfilechooserdefault.c.orig 2004-08-13 21:01:49.000000000 +0300 ++++ gtk/gtkfilechooserdefault.c 2004-08-14 20:11:58.000000000 +0300 +@@ -1832,7 +1832,6 @@ + + struct selection_check_closure { + GtkFileChooserDefault *impl; +- gboolean empty; + gboolean all_files; + gboolean all_folders; + }; +@@ -1850,7 +1849,6 @@ + gboolean is_folder; + + closure = data; +- closure->empty = FALSE; + + gtk_tree_model_sort_convert_iter_to_child_iter (closure->impl->sort_model, &child_iter, iter); + +@@ -1864,23 +1862,23 @@ + /* Checks whether the selected items in the file list are all files or all folders */ + static void + selection_check (GtkFileChooserDefault *impl, +- gboolean *empty, ++ int *num_selected, + gboolean *all_files, + gboolean *all_folders) + { + struct selection_check_closure closure; + GtkTreeSelection *selection; ++ int selected_rows; + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); + ++ selected_rows = gtk_tree_selection_count_selected_rows (selection); ++ + if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER + || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER) + { +- if (gtk_tree_selection_count_selected_rows (selection) == 0) +- closure.empty = TRUE; +- else ++ if (selected_rows > 0) + { +- closure.empty = FALSE; + closure.all_files = FALSE; + closure.all_folders = TRUE; + } +@@ -1891,7 +1889,6 @@ + || impl->action == GTK_FILE_CHOOSER_ACTION_SAVE); + + closure.impl = impl; +- closure.empty = TRUE; + closure.all_files = TRUE; + closure.all_folders = TRUE; + +@@ -1900,10 +1897,10 @@ + &closure); + } + +- g_assert (closure.empty || !(closure.all_files && closure.all_folders)); ++ g_assert (selected_rows == 0 || !(closure.all_files && closure.all_folders)); + +- if (empty) +- *empty = closure.empty; ++ if (num_selected) ++ *num_selected = selected_rows; + + if (all_files) + *all_files = closure.all_files; |