diff options
author | Alexander Larsson <alexl@redhat.com> | 2008-10-22 08:51:51 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2008-10-22 08:51:51 +0000 |
commit | 10d0231a0b32ad5987466a0133d69118b20d1147 (patch) | |
tree | 5de8cf4fc725e9dba0f209a266f9006842a4c2ae | |
parent | 04f223d45ce484d3e132f82d6706148508d33897 (diff) | |
download | nautilus-10d0231a0b32ad5987466a0133d69118b20d1147.tar.gz |
Don't assert on symbolic links always marked as symlinks. Some broken
2008-10-22 Alexander Larsson <alexl@redhat.com>
* libnautilus-private/nautilus-file.c
(nautilus_file_get_symbolic_link_target_uri/path):
Don't assert on symbolic links always marked as symlinks.
Some broken backends will give this (like the archive backend).
Fixes crash in #547468
svn path=/trunk/; revision=14757
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | libnautilus-private/nautilus-file.c | 10 |
2 files changed, 15 insertions, 3 deletions
@@ -1,3 +1,11 @@ +2008-10-22 Alexander Larsson <alexl@redhat.com> + + * libnautilus-private/nautilus-file.c + (nautilus_file_get_symbolic_link_target_uri/path): + Don't assert on symbolic links always marked as symlinks. + Some broken backends will give this (like the archive backend). + Fixes crash in #547468 + 2008-10-22 A. Walton <awalton@gnome.org> * src/file-manager/fm-tree-model.c (fm_tree_model_get_column_type), diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c index 393c505a0..ac860d2d7 100644 --- a/libnautilus-private/nautilus-file.c +++ b/libnautilus-private/nautilus-file.c @@ -6009,7 +6009,9 @@ nautilus_file_get_volume_name (NautilusFile *file) char * nautilus_file_get_symbolic_link_target_path (NautilusFile *file) { - g_return_val_if_fail (nautilus_file_is_symbolic_link (file), NULL); + if (!nautilus_file_is_symbolic_link (file)) { + g_warning ("File has symlink target, but is not marked as symlink"); + } return g_strdup (file->details->symlink_name); } @@ -6028,8 +6030,10 @@ nautilus_file_get_symbolic_link_target_uri (NautilusFile *file) { GFile *location, *parent, *target; char *target_uri; - - g_return_val_if_fail (nautilus_file_is_symbolic_link (file), NULL); + + if (!nautilus_file_is_symbolic_link (file)) { + g_warning ("File has symlink target, but is not marked as symlink"); + } if (file->details->symlink_name == NULL) { return NULL; |