summaryrefslogtreecommitdiff
path: root/gtk/gtkfilesystemmodel.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-03-29 16:26:14 +0200
committerBenjamin Otte <otte@redhat.com>2010-03-29 16:29:20 +0200
commit9514e741cd153fc36d9e9d7982db5d7f6aad097e (patch)
tree3c90f7c343cb37a17a00133889a0659d1abe13e1 /gtk/gtkfilesystemmodel.c
parentb84d4a308e1540efb63e657b645d1d45bcda5b68 (diff)
downloadgtk+-9514e741cd153fc36d9e9d7982db5d7f6aad097e.tar.gz
Fix error case in filesystem model
We should not unref the model here, it might not even exist anymore. Instead check if it exists and only use it if it does. The unref was leftover from a previous fix in ba9f53397ff0b86ad56166c7fc91b4d499f7aefc. Spotted by Matthias Clasen in https://bugzilla.gnome.org/show_bug.cgi?id=614099
Diffstat (limited to 'gtk/gtkfilesystemmodel.c')
-rw-r--r--gtk/gtkfilesystemmodel.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk/gtkfilesystemmodel.c b/gtk/gtkfilesystemmodel.c
index 5449d30b59..b3328e02f9 100644
--- a/gtk/gtkfilesystemmodel.c
+++ b/gtk/gtkfilesystemmodel.c
@@ -1199,9 +1199,11 @@ gtk_file_system_model_got_enumerator (GObject *dir, GAsyncResult *res, gpointer
enumerator = g_file_enumerate_children_finish (G_FILE (dir), res, &error);
if (enumerator == NULL)
{
- g_signal_emit (model, file_system_model_signals[FINISHED_LOADING], 0, error);
- g_object_unref (model);
- g_error_free (error);
+ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+ {
+ g_signal_emit (model, file_system_model_signals[FINISHED_LOADING], 0, error);
+ g_error_free (error);
+ }
}
else
{