diff options
author | Martin Wehner <martin.wehner@epost.de> | 2005-02-07 23:28:05 +0000 |
---|---|---|
committer | Martin Wehner <mwehner@src.gnome.org> | 2005-02-07 23:28:05 +0000 |
commit | 9c05d0f2e5f5accdbd7795aea7c0beb93beb161e (patch) | |
tree | 65e875b9ac8dcc521efd55b79fd0e992e4b95d4e | |
parent | 55b7f033f2cfe445090e459c28661f57c6a46aed (diff) | |
download | nautilus-gnome-2-8.tar.gz |
Handle disappearing original_files without crashing. Fixes buggnome-2-8
2005-02-07 Martin Wehner <martin.wehner@epost.de>
* src/file-manager/fm-properties-window.c: (get_original_file),
(name_field_done_editing), (update_properties_window_title):
Handle disappearing original_files without crashing.
Fixes bug #151024/158904.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/file-manager/fm-properties-window.c | 24 |
2 files changed, 24 insertions, 7 deletions
@@ -1,3 +1,10 @@ +2005-02-07 Martin Wehner <martin.wehner@epost.de> + + * src/file-manager/fm-properties-window.c: (get_original_file), + (name_field_done_editing), (update_properties_window_title): + Handle disappearing original_files without crashing. + Fixes bug #151024/158904. + 2004-12-13 Dwayne Bailey <dwayne@translate.org.za> * configure.in: Added "zu" to ALL_LINGUAS. diff --git a/src/file-manager/fm-properties-window.c b/src/file-manager/fm-properties-window.c index cd4b23937..afa6ce32a 100644 --- a/src/file-manager/fm-properties-window.c +++ b/src/file-manager/fm-properties-window.c @@ -264,6 +264,10 @@ get_original_file (FMPropertiesWindow *window) { g_return_val_if_fail (!is_multi_file_window (window), NULL); + if (window->details->original_files == NULL) { + return NULL; + } + return NAUTILUS_FILE (window->details->original_files->data); } @@ -702,7 +706,7 @@ name_field_done_editing (NautilusEntry *name_field, FMPropertiesWindow *window) /* This gets called when the window is closed, which might be * caused by the file having been deleted. */ - if (nautilus_file_is_gone (file)) { + if (file == NULL || nautilus_file_is_gone (file)) { return; } @@ -912,15 +916,21 @@ static void update_properties_window_title (FMPropertiesWindow *window) { char *name, *title; + NautilusFile *file; g_return_if_fail (GTK_IS_WINDOW (window)); - if (is_multi_file_window (window)) { - title = g_strdup_printf (_("Properties")); - } else { - name = nautilus_file_get_display_name (get_original_file (window)); - title = g_strdup_printf (_("%s Properties"), name); - g_free (name); + title = g_strdup_printf (_("Properties")); + + if (!is_multi_file_window (window)) { + file = get_original_file (window); + + if (file != NULL) { + g_free (title); + name = nautilus_file_get_display_name (file); + title = g_strdup_printf (_("%s Properties"), name); + g_free (name); + } } gtk_window_set_title (GTK_WINDOW (window), title); |