[nautilus] file: use emblems for files that use default icon
- From: António Fernandes <antoniof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] file: use emblems for files that use default icon
- Date: Sat, 31 Aug 2019 19:22:46 +0000 (UTC)
commit 8efe35665368539de0e15f150292996cb0ab9121
Author: Colin Atkinson <colin atakama com>
Date: Wed Aug 7 13:36:43 2019 -0400
file: use emblems for files that use default icon
Files that fall back on the statically-allocated default GIcon will not
have emblems drawn on them. Create a new GIcon with emblems on it if
needed, and document the circumstances that lead to this case being hit.
Fixes https://gitlab.gnome.org/GNOME/nautilus/issues/1189
src/nautilus-file.c | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
---
diff --git a/src/nautilus-file.c b/src/nautilus-file.c
index 8d1fbb54c..45603af08 100644
--- a/src/nautilus-file.c
+++ b/src/nautilus-file.c
@@ -5327,10 +5327,31 @@ nautilus_file_get_icon (NautilusFile *file,
icon = nautilus_icon_info_lookup (gicon, size, scale);
g_object_unref (gicon);
+ /* Files for which the MIME type cannot be determined will result in
+ * the icon being detected as a fallback. This is because the default
+ * theme does not have icons for the names corresponding to these file
+ * types. */
if (nautilus_icon_info_is_fallback (icon))
{
g_object_unref (icon);
- icon = nautilus_icon_info_lookup (get_default_file_icon (), size, scale);
+
+ gicon = get_default_file_icon ();
+
+ /* Increase ref count on gicon, even though it is statically
+ * allocated. This is needed because apply_emblems_to_icon
+ * decreases the ref count on the original icon it is given. */
+ g_object_ref (gicon);
+
+ if (flags & NAUTILUS_FILE_ICON_FLAGS_USE_EMBLEMS)
+ {
+ apply_emblems_to_icon (file, &gicon, flags);
+ }
+
+ icon = nautilus_icon_info_lookup (gicon, size, scale);
+
+ /* Decrease ref count on either the static default icon, or on the
+ * newly-created emblemed icon. */
+ g_object_unref (gicon);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]