[arch-commits] Commit in gtk3/trunk (3 files)
Evangelos Foutras
foutrelis at archlinux.org
Tue Feb 16 09:19:11 UTC 2016
Date: Tuesday, February 16, 2016 @ 10:19:10
Author: foutrelis
Revision: 259562
upgpkg: gtk3 3.18.7-2
Fix two crashes in the file chooser dialog (FS#48158).
Added:
gtk3/trunk/0001-file-chooser-Avoid-a-crash.patch
gtk3/trunk/0001-file-chooser-Use-the-right-model-when-getting-the-se.patch
Modified:
gtk3/trunk/PKGBUILD
-----------------------------------------------------------------+
0001-file-chooser-Avoid-a-crash.patch | 46 ++++++++++
0001-file-chooser-Use-the-right-model-when-getting-the-se.patch | 42 +++++++++
PKGBUILD | 12 ++
3 files changed, 99 insertions(+), 1 deletion(-)
Added: 0001-file-chooser-Avoid-a-crash.patch
===================================================================
--- 0001-file-chooser-Avoid-a-crash.patch (rev 0)
+++ 0001-file-chooser-Avoid-a-crash.patch 2016-02-16 09:19:10 UTC (rev 259562)
@@ -0,0 +1,46 @@
+From f793da54a992d87da42c1f98e3cd5e9556c670ab Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen at redhat.com>
+Date: Sat, 30 Jan 2016 23:07:56 -0500
+Subject: [PATCH] file chooser: Avoid a crash
+
+Since 39c2d12330b6d4405ca8a5599c12017c58626fcf,
+priv->operation_mode == OPERATION_MODE_BROWSE no longer
+guarantees that priv->browse_files_model is the current
+model of the list - we are only switching the models after
+loading the new directory. Avoid triggering the assertion
+in show_and_select_files by checking if we have right model
+before calling it.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=761209
+---
+ gtk/gtkfilechooserwidget.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
+index 127e18b..d1a2ed8 100644
+--- a/gtk/gtkfilechooserwidget.c
++++ b/gtk/gtkfilechooserwidget.c
+@@ -5630,15 +5630,19 @@ gtk_file_chooser_widget_select_file (GtkFileChooser *chooser,
+ GtkFileChooserWidgetPrivate *priv = impl->priv;
+ GFile *parent_file;
+ gboolean same_path;
++ GtkFileSystemModel *fsmodel;
+
+ parent_file = g_file_get_parent (file);
+
+ if (!parent_file)
+ return gtk_file_chooser_set_current_folder_file (chooser, file, error);
+
++ fsmodel = GTK_FILE_SYSTEM_MODEL (gtk_tree_view_get_model (GTK_TREE_VIEW (priv->browse_files_tree_view)));
++
+ if (priv->operation_mode == OPERATION_MODE_SEARCH ||
+ priv->operation_mode == OPERATION_MODE_RECENT ||
+- priv->load_state == LOAD_EMPTY)
++ priv->load_state == LOAD_EMPTY ||
++ priv->browse_files_model != fsmodel)
+ {
+ same_path = FALSE;
+ }
+--
+2.7.1
+
Added: 0001-file-chooser-Use-the-right-model-when-getting-the-se.patch
===================================================================
--- 0001-file-chooser-Use-the-right-model-when-getting-the-se.patch (rev 0)
+++ 0001-file-chooser-Use-the-right-model-when-getting-the-se.patch 2016-02-16 09:19:10 UTC (rev 259562)
@@ -0,0 +1,42 @@
+From 811a9b21c1bb226236d2a880f9cbbcbcf6028c2e Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen at redhat.com>
+Date: Fri, 12 Feb 2016 20:35:26 -0500
+Subject: [PATCH] file chooser: Use the right model when getting the selection
+
+We don't need to make assumptions about which model is currently
+used since gtk_tree_selection_get_selection hands us the model.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=761757
+---
+ gtk/gtkfilechooserwidget.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
+index c77a8b7..6ef25b6 100644
+--- a/gtk/gtkfilechooserwidget.c
++++ b/gtk/gtkfilechooserwidget.c
+@@ -6266,10 +6266,11 @@ get_selected_file_info_from_file_list (GtkFileChooserWidget *impl,
+ GtkTreeSelection *selection;
+ GtkTreeIter iter;
+ GFileInfo *info;
++ GtkTreeModel *model;
+
+ g_assert (!priv->select_multiple);
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
+- if (!gtk_tree_selection_get_selected (selection, NULL, &iter))
++ if (!gtk_tree_selection_get_selected (selection, &model, &iter))
+ {
+ *had_selection = FALSE;
+ return NULL;
+@@ -6277,7 +6278,7 @@ get_selected_file_info_from_file_list (GtkFileChooserWidget *impl,
+
+ *had_selection = TRUE;
+
+- info = _gtk_file_system_model_get_info (priv->browse_files_model, &iter);
++ info = _gtk_file_system_model_get_info (GTK_FILE_SYSTEM_MODEL (model), &iter);
+ return info;
+ }
+
+--
+2.7.1
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2016-02-16 09:18:43 UTC (rev 259561)
+++ PKGBUILD 2016-02-16 09:19:10 UTC (rev 259562)
@@ -5,7 +5,7 @@
pkgbase=gtk3
pkgname=(gtk3 gtk-update-icon-cache)
pkgver=3.18.7
-pkgrel=1
+pkgrel=2
pkgdesc="GObject-based multi-platform GUI toolkit"
arch=(i686 x86_64)
url="http://www.gtk.org/"
@@ -15,13 +15,23 @@
makedepends=(gobject-introspection libcanberra gtk-doc)
license=(LGPL)
source=(https://download.gnome.org/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz
+ 0001-file-chooser-Avoid-a-crash.patch
+ 0001-file-chooser-Use-the-right-model-when-getting-the-se.patch
settings.ini)
sha256sums=('a76e1cb0ac45ce5c2734f6778f2731a5c6a23d1ff6bd4db357774f014ee68820'
+ '36058e522839bcae775cbafef8d4ad21cba98265b5cf9e90d5b46b874ddbf79f'
+ '22c0272fdbb048ec8fe62d71bcb1ab6765050de3eb04e833ba7303750782d0a7'
'01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202')
prepare() {
cd gtk+-$pkgver
NOCONFIGURE=1 ./autogen.sh
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=761209
+ patch -Np1 -i ../0001-file-chooser-Avoid-a-crash.patch
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=761757
+ patch -Np1 -i ../0001-file-chooser-Use-the-right-model-when-getting-the-se.patch
}
build() {
More information about the arch-commits
mailing list