forked from AuroraMiddleware/gtk
Don't construct errors from the GTK_FILE_SYSTEM_ERROR domain. Partial fix
2005-01-05 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilechooserdefault.c: Don't construct errors from the GTK_FILE_SYSTEM_ERROR domain. Partial fix for #162911. (get_file_info, check_is_folder): Translate errors from the filesystem into the GTK_FILE_CHOOSER_ERROR domain. Rest of the fix for #162911, noticed by Murray Cumming.
This commit is contained in:
parent
7794fa7f57
commit
9359ede29b
@ -2,6 +2,9 @@
|
||||
|
||||
* gtk/gtkfilechooserdefault.c: Don't construct errors from
|
||||
the GTK_FILE_SYSTEM_ERROR domain. Partial fix for #162911.
|
||||
(get_file_info, check_is_folder): Translate errors from
|
||||
the filesystem into the GTK_FILE_CHOOSER_ERROR domain. Rest
|
||||
of the fix for #162911, noticed by Murray Cumming.
|
||||
|
||||
Wed Jan 5 11:42:49 2005 Søren Sandmann <sandmann@redhat.com>
|
||||
|
||||
|
@ -2,6 +2,9 @@
|
||||
|
||||
* gtk/gtkfilechooserdefault.c: Don't construct errors from
|
||||
the GTK_FILE_SYSTEM_ERROR domain. Partial fix for #162911.
|
||||
(get_file_info, check_is_folder): Translate errors from
|
||||
the filesystem into the GTK_FILE_CHOOSER_ERROR domain. Rest
|
||||
of the fix for #162911, noticed by Murray Cumming.
|
||||
|
||||
Wed Jan 5 11:42:49 2005 Søren Sandmann <sandmann@redhat.com>
|
||||
|
||||
|
@ -2,6 +2,9 @@
|
||||
|
||||
* gtk/gtkfilechooserdefault.c: Don't construct errors from
|
||||
the GTK_FILE_SYSTEM_ERROR domain. Partial fix for #162911.
|
||||
(get_file_info, check_is_folder): Translate errors from
|
||||
the filesystem into the GTK_FILE_CHOOSER_ERROR domain. Rest
|
||||
of the fix for #162911, noticed by Murray Cumming.
|
||||
|
||||
Wed Jan 5 11:42:49 2005 Søren Sandmann <sandmann@redhat.com>
|
||||
|
||||
|
@ -2,6 +2,9 @@
|
||||
|
||||
* gtk/gtkfilechooserdefault.c: Don't construct errors from
|
||||
the GTK_FILE_SYSTEM_ERROR domain. Partial fix for #162911.
|
||||
(get_file_info, check_is_folder): Translate errors from
|
||||
the filesystem into the GTK_FILE_CHOOSER_ERROR domain. Rest
|
||||
of the fix for #162911, noticed by Murray Cumming.
|
||||
|
||||
Wed Jan 5 11:42:49 2005 Søren Sandmann <sandmann@redhat.com>
|
||||
|
||||
|
@ -1080,36 +1080,55 @@ shortcuts_find_current_folder (GtkFileChooserDefault *impl)
|
||||
|
||||
/* Convenience function to get the display name and icon info for a path */
|
||||
static GtkFileInfo *
|
||||
get_file_info (GtkFileSystem *file_system, const GtkFilePath *path, gboolean name_only, GError **error)
|
||||
get_file_info (GtkFileSystem *file_system,
|
||||
const GtkFilePath *path,
|
||||
gboolean name_only,
|
||||
GError **error)
|
||||
{
|
||||
GtkFilePath *parent_path;
|
||||
GtkFileFolder *parent_folder;
|
||||
GtkFileInfo *info;
|
||||
GError *tmp = NULL;
|
||||
|
||||
parent_path = NULL;
|
||||
info = NULL;
|
||||
|
||||
if (!gtk_file_system_get_parent (file_system, path, &parent_path, error))
|
||||
return NULL;
|
||||
if (!gtk_file_system_get_parent (file_system, path, &parent_path, &tmp))
|
||||
goto out;
|
||||
|
||||
parent_folder = gtk_file_system_get_folder (file_system, parent_path ? parent_path : path,
|
||||
GTK_FILE_INFO_DISPLAY_NAME
|
||||
| (name_only ? 0 : GTK_FILE_INFO_IS_FOLDER),
|
||||
error);
|
||||
&tmp);
|
||||
if (!parent_folder)
|
||||
goto out;
|
||||
|
||||
info = gtk_file_folder_get_info (parent_folder, parent_path ? path : NULL, error);
|
||||
info = gtk_file_folder_get_info (parent_folder, parent_path ? path : NULL, &tmp);
|
||||
g_object_unref (parent_folder);
|
||||
|
||||
out:
|
||||
if (parent_path)
|
||||
gtk_file_path_free (parent_path);
|
||||
|
||||
if (tmp)
|
||||
{
|
||||
g_set_error (error,
|
||||
GTK_FILE_CHOOSER_ERROR,
|
||||
GTK_FILE_CHOOSER_ERROR_BAD_FILENAME,
|
||||
_("Could not get information about '%s': %s"),
|
||||
gtk_file_path_get_string (path),
|
||||
tmp->message);
|
||||
g_error_free (tmp);
|
||||
}
|
||||
|
||||
gtk_file_path_free (parent_path);
|
||||
return info;
|
||||
}
|
||||
|
||||
/* Returns whether a path is a folder */
|
||||
static gboolean
|
||||
check_is_folder (GtkFileSystem *file_system, const GtkFilePath *path, GError **error)
|
||||
check_is_folder (GtkFileSystem *file_system,
|
||||
const GtkFilePath *path,
|
||||
GError **error)
|
||||
{
|
||||
GtkFileInfo *info;
|
||||
gboolean is_folder;
|
||||
@ -1129,7 +1148,7 @@ check_is_folder (GtkFileSystem *file_system, const GtkFilePath *path, GError **e
|
||||
if (!is_folder)
|
||||
g_set_error (error,
|
||||
GTK_FILE_CHOOSER_ERROR,
|
||||
GTK_FILE_COOSER_ERROR_BAD_FILENAME,
|
||||
GTK_FILE_CHOOSER_ERROR_BAD_FILENAME,
|
||||
"%s: %s",
|
||||
gtk_file_info_get_display_name (info),
|
||||
g_strerror (ENOTDIR));
|
||||
|
Loading…
Reference in New Issue
Block a user