From: Matthias Clasen Date: Thu, 9 Jul 2015 01:06:58 +0000 (-0400) Subject: file chooser: Avoid doing excess work X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~24^2~9089 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=201d4c110186dcfa77f2cee2bed88f1674c52f54;p=gtk4.git file chooser: Avoid doing excess work Whenever we change directories, we unset the model, and then we set a new model. This causes several emissions of GtkTreeSelection::changed, for each of which we do a bunch of work to update the path bar, the location entry, etc. We can savely ignore some of these signals, and do less work. --- diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c index a09f0a50c2..6caae6c005 100644 --- a/gtk/gtkfilechooserwidget.c +++ b/gtk/gtkfilechooserwidget.c @@ -7584,6 +7584,9 @@ list_selection_changed (GtkTreeSelection *selection, { GtkFileChooserWidgetPrivate *priv = impl->priv; + if (gtk_tree_view_get_model (GTK_TREE_VIEW (priv->browse_files_tree_view)) == NULL) + return; + /* See if we are in the new folder editable row for Save mode */ if (priv->operation_mode == OPERATION_MODE_BROWSE && priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)