diff options
author | bland <bland@FreeBSD.org> | 2004-08-15 01:49:06 +0800 |
---|---|---|
committer | bland <bland@FreeBSD.org> | 2004-08-15 01:49:06 +0800 |
commit | b7d1bcbf8334751dc2c1f5c0918ef4f2fcda30ce (patch) | |
tree | 3b7a798714be9bfee35ae2e3b9674634deb4c8c7 /x11-toolkits/gtk30 | |
parent | 901ef871836e6e12fb7503724c95364b4e3aa37b (diff) | |
download | freebsd-ports-graphics-b7d1bcbf8334751dc2c1f5c0918ef4f2fcda30ce.tar.gz freebsd-ports-graphics-b7d1bcbf8334751dc2c1f5c0918ef4f2fcda30ce.tar.zst freebsd-ports-graphics-b7d1bcbf8334751dc2c1f5c0918ef4f2fcda30ce.zip |
Fix a bug in GtkFileChooser which prevent files to be opened.
Obtained from: GNOME Bugzilla (#150099)
Diffstat (limited to 'x11-toolkits/gtk30')
-rw-r--r-- | x11-toolkits/gtk30/Makefile | 1 | ||||
-rw-r--r-- | x11-toolkits/gtk30/files/patch-al | 69 |
2 files changed, 70 insertions, 0 deletions
diff --git a/x11-toolkits/gtk30/Makefile b/x11-toolkits/gtk30/Makefile index 1969ebbaf80..f36187a0706 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 00000000000..65c0564fc6e --- /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; |