diff --git a/gio/ChangeLog b/gio/ChangeLog index e3bd9b60e..bbb87a06b 100644 --- a/gio/ChangeLog +++ b/gio/ChangeLog @@ -1,3 +1,12 @@ +2008-11-28 Matthias Clasen + + Bug 548163 – Nautilus displays wrong error message for too long file + names + + * glocalfile.c (g_local_file_set_display_name): Correctly set + error conditions if the new name is e.g. too long. Reported + by Leonardo Ferreira Fontenelle. + 2008-11-28 Matthias Clasen Bug 547481 – g_data_input_stream_read_line behaves not as stated in diff --git a/gio/glocalfile.c b/gio/glocalfile.c index fb890db60..4d772b461 100644 --- a/gio/glocalfile.c +++ b/gio/glocalfile.c @@ -1116,12 +1116,23 @@ g_local_file_set_display_name (GFile *file, if (new_file == NULL) return NULL; - local = G_LOCAL_FILE (file); new_local = G_LOCAL_FILE (new_file); - if (!(g_lstat (new_local->filename, &statbuf) == -1 && - errno == ENOENT)) + if (g_lstat (new_local->filename, &statbuf) == -1) + { + errsv = errno; + + if (errsv != ENOENT) + { + g_set_error (error, G_IO_ERROR, + g_io_error_from_errno (errsv), + _("Error renaming file: %s"), + g_strerror (errsv)); + return NULL; + } + } + else { g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_EXISTS,