diff options
author | Bastien Nocera <hadess@hadess.net> | 2019-10-11 12:00:36 +0200 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2019-10-11 12:00:36 +0200 |
commit | 0a7e768db4674f8f240622929fd75f674df39417 (patch) | |
tree | 43282f641b403a74588b91171b7ecef549609569 | |
parent | 606ae725c7aad8434ce89a0f5dfefe8dc5a4248c (diff) | |
download | gvfs-0a7e768db4674f8f240622929fd75f674df39417.tar.gz |
nfs: Don't set a content-type that isn't certain
Don't ignore the result_uncertain flag from g_content_type_guess() as it
might cause nautilus to incorrectly think that a particular file is of a
certain type, and never check its magic.
-rw-r--r-- | daemon/gvfsbackendnfs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/daemon/gvfsbackendnfs.c b/daemon/gvfsbackendnfs.c index 3fa1c7d2..a583a8a6 100644 --- a/daemon/gvfsbackendnfs.c +++ b/daemon/gvfsbackendnfs.c @@ -475,6 +475,7 @@ set_name_info (GFileInfo *info, GFileAttributeMatcher *matcher) { char *free_mimetype = NULL; + gboolean uncertain_content_type = FALSE; g_file_info_set_name (info, basename); if (basename[0] == '.') @@ -495,14 +496,15 @@ set_name_info (GFileInfo *info, { if (basename) { - free_mimetype = g_content_type_guess (basename, NULL, 0, NULL); + free_mimetype = g_content_type_guess (basename, NULL, 0, &uncertain_content_type); mimetype = free_mimetype; } else mimetype = "application/octet-stream"; } - g_file_info_set_content_type (info, mimetype); + if (!uncertain_content_type) + g_file_info_set_content_type (info, mimetype); g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, mimetype); if (g_file_attribute_matcher_matches (matcher, |