diff options
author | Benjamin Otte <otte@redhat.com> | 2010-03-29 16:26:14 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2010-03-29 16:29:20 +0200 |
commit | 9514e741cd153fc36d9e9d7982db5d7f6aad097e (patch) | |
tree | 3c90f7c343cb37a17a00133889a0659d1abe13e1 /gtk/gtkfilesystemmodel.c | |
parent | b84d4a308e1540efb63e657b645d1d45bcda5b68 (diff) | |
download | gtk+-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.c | 8 |
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 { |