--- meson.build 2026-04-12 08:10:06.000000000 +0800 +++ meson.build 2026-05-07 14:00:33.000000000 +0800 @@ -106,8 +106,6 @@ gio = dependency('gio-2.0', version: glib_ver) gio_unix = dependency('gio-unix-2.0', version: glib_ver) glib = dependency('glib-2.0', version: glib_ver) -glycin = dependency('glycin-2', version: '>= 2') -glycin_gtk4 = dependency('glycin-gtk4-2', version: '>= 2') gmodule = dependency('gmodule-no-export-2.0', version: glib_ver) gnome_autoar = dependency('gnome-autoar-0', version: '>= 0.4.4') gnome_desktop = dependency('gnome-desktop-4', version: '>= 43') --- src/meson.build 2026-04-12 08:10:06.000000000 +0800 +++ src/meson.build 2026-05-07 14:01:14.000000000 +0800 @@ -273,8 +273,6 @@ cloudproviders, config_h, gio_unix, - glycin, - glycin_gtk4, gmodule, gnome_autoar, gnome_desktop, --- extensions/image-properties/meson.build.orig 2026-04-12 08:10:06.000000000 +0800 +++ extensions/image-properties/meson.build 2026-05-07 14:11:52.000000000 +0800 @@ -8,7 +8,6 @@ ], dependencies: [ gexiv, - glycin, nautilus_extension ], install: true, --- extensions/image-properties/nautilus-image-properties-model.c 2026-04-12 08:10:06.000000000 +0800 +++ extensions/image-properties/nautilus-image-properties-model.c 2026-05-07 14:15:40.000000000 +0800 @@ -23,7 +23,6 @@ #include #include -#include #include #include @@ -127,26 +126,6 @@ } } -static gboolean -append_glycin_basic_info (NautilusImagesPropertiesModel *self, - GFile *file) -{ - g_autoptr (GlyLoader) loader = gly_loader_new (file); - g_autoptr (GlyImage) image = gly_loader_load (loader, NULL); - - if (image == NULL) - { - return FALSE; - } - - append_basic_info (self, - gly_image_get_mime_type (image), - gly_image_get_width (image), - gly_image_get_height (image)); - - return TRUE; -} - static void format_exif_datetime (gchar **tag_value) { @@ -294,7 +273,7 @@ append_gexiv_basic_info (self); append_gexiv2_info (self); } - else if (!append_glycin_basic_info (self, file)) + else { append_item (self, _("Oops! Something went wrong."), _("Failed to load image information")); } --- src/nautilus-icon-info.c 2026-04-12 08:10:06.000000000 +0800 +++ src/nautilus-icon-info.c 2026-05-07 15:14:24.000000000 +0800 @@ -20,9 +20,6 @@ #include "nautilus-enums.h" #include -#include -#include - struct _NautilusIconInfo { GObject parent; @@ -379,9 +376,11 @@ if (G_IS_LOADABLE_ICON (icon)) { + g_autoptr (GdkPixbuf) pixbuf = NULL; g_autoptr (GdkPaintable) paintable = NULL; LoadableIconKey lookup_key; LoadableIconKey *key; + GInputStream *stream; lookup_key.icon = icon; lookup_key.scale = scale; @@ -393,41 +392,30 @@ return g_object_ref (icon_info); } - g_autoptr (GInputStream) stream = g_loadable_icon_load (G_LOADABLE_ICON (icon), - size * scale, - NULL, NULL, NULL); + stream = g_loadable_icon_load (G_LOADABLE_ICON (icon), + size * scale, + NULL, NULL, NULL); if (stream) { - g_autoptr (GlyLoader) loader = gly_loader_new_for_stream (stream); - g_autoptr (GlyImage) image = gly_loader_load (loader, NULL); + pixbuf = gdk_pixbuf_new_from_stream_at_scale (stream, + size * scale, size * scale, + TRUE, + NULL, NULL); + g_input_stream_close (stream, NULL, NULL); + g_object_unref (stream); + } - if (image != NULL) - { - g_autoptr (GlyFrameRequest) frame_request = gly_frame_request_new (); - g_autoptr (GlyFrame) frame = NULL; - - gly_frame_request_set_scale (frame_request, size * scale, size * scale); - frame = gly_image_get_specific_frame (image, frame_request, NULL); - - if (frame != NULL) - { - double iw = gly_frame_get_width (frame); - double ih = gly_frame_get_height (frame); - - double scale_factor = MIN ((double) size / iw, (double) size / ih); - - double width = iw * scale_factor; - double height = ih * scale_factor; - - g_autoptr (GdkTexture) texture = gly_gtk_frame_get_texture (frame); - g_autoptr (GtkSnapshot) snapshot = gtk_snapshot_new (); - - gdk_paintable_snapshot (GDK_PAINTABLE (texture), - GDK_SNAPSHOT (snapshot), - width, height); - paintable = gtk_snapshot_to_paintable (snapshot, NULL); - } - } + if (pixbuf != NULL) + { + double width = gdk_pixbuf_get_width (pixbuf) / scale; + double height = gdk_pixbuf_get_height (pixbuf) / scale; + g_autoptr (GdkTexture) texture = gdk_texture_new_for_pixbuf (pixbuf); + g_autoptr (GtkSnapshot) snapshot = gtk_snapshot_new (); + + gdk_paintable_snapshot (GDK_PAINTABLE (texture), + GDK_SNAPSHOT (snapshot), + width, height); + paintable = gtk_snapshot_to_paintable (snapshot, NULL); } if (paintable == NULL)