tumbler: upgrade 4.20.1 -> 4.21.1

Changelog:
https://gitlab.xfce.org/xfce/tumbler/-/tags/tumbler-4.21.1
https://gitlab.xfce.org/xfce/tumbler/-/tags/tumbler-4.21.0

Backport patch for handle case where no plugins gracefully.

Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Zhang Peng 2026-03-24 20:59:20 +08:00 committed by Khem Raj
parent d32bc22f9d
commit 33b4fd62d7
No known key found for this signature in database
GPG Key ID: BB053355919D3314
2 changed files with 71 additions and 11 deletions

View File

@ -0,0 +1,57 @@
From 95244ee0d1f3184e2c2cae9d33095dc03829b10e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= <gael@xfce.org>
Date: Fri, 20 Feb 2026 17:07:56 +0100
Subject: [PATCH] Handle cases where there are no plugins gracefully
Not sure it makes much sense to allow the cache plugin not to be built,
but then again, why not? It could be replaced by a customized
implementation, and it has always been possible not to build it, so we
might as well leave it as it is.
Fixes: #109
(cherry picked from commit b4f4db4bfc1a45f0a405c4516e38394a44c90fcf)
Upstream-Status: Backport [https://gitlab.xfce.org/xfce/tumbler/-/commit/95244ee0d1f3184e2c2cae9d33095dc03829b10e]
Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
---
tumbler/tumbler-cache-plugin.c | 5 ++++-
tumblerd/tumbler-registry.c | 7 ++++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/tumbler/tumbler-cache-plugin.c b/tumbler/tumbler-cache-plugin.c
index 50700a3..e308638 100644
--- a/tumbler/tumbler-cache-plugin.c
+++ b/tumbler/tumbler-cache-plugin.c
@@ -188,7 +188,10 @@ tumbler_cache_plugin_get_default (void)
g_object_add_weak_pointer (G_OBJECT (plugin), (gpointer) &plugin);
if (!g_type_module_use (G_TYPE_MODULE (plugin)))
- return NULL;
+ {
+ g_object_unref (plugin);
+ return NULL;
+ }
}
return G_TYPE_MODULE (plugin);
diff --git a/tumblerd/tumbler-registry.c b/tumblerd/tumbler-registry.c
index 705dbc9..b58e831 100644
--- a/tumblerd/tumbler-registry.c
+++ b/tumblerd/tumbler-registry.c
@@ -534,7 +534,12 @@ tumbler_registry_update_supported (TumblerRegistry *registry)
/* abort if there are no thumbnailers */
if (thumbnailers == NULL)
- return;
+ {
+ /* we need NULL-terminated arrays for the _get_supported() dbus call anyway */
+ registry->uri_schemes = g_new0 (gchar *, 1);
+ registry->mime_types = g_new0 (gchar *, 1);
+ return;
+ }
/* clear visited flag of all thumbnailers */
for (lp = thumbnailers; lp != NULL; lp = lp->next)
--
2.50.0

View File

@ -5,23 +5,26 @@ LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "xfce4-dev-tools-native libxfce4util"
XFCE_COMPRESS_TYPE = "xz"
XFCEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk-doc"
inherit xfce gtk-doc systemd
SRC_URI[sha256sum] = "87b90df8f30144a292d70889e710c8619d8b8803f0e1db3280a4293367a42eae"
SRC_URI += " file://0001-Handle-cases-where-there-are-no-plugins-gracefully.patch"
SRC_URI[sha256sum] = "0f499f79a2a7ee49726a433584dd8a680d514101b72bd1b003360611ce1dc244"
INSANE_SKIP:${PN} = "dev-so"
PACKAGECONFIG ??= ""
PACKAGECONFIG[cover-thumbnailer] = "--enable-cover-thumbnailer,--disable-cover-thumbnailer,curl gdk-pixbuf"
PACKAGECONFIG[desktop-thumbnailer] = "--enable-desktop-thumbnailer,--disable-desktop-thumbnailer,gdk-pixbuf"
PACKAGECONFIG[font-thumbnailer] = "--enable-font-thumbnailer,--disable-font-thumbnailer,freetype gdk-pixbuf"
PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base"
PACKAGECONFIG[jpeg-thumbnailer] = "--enable-jpeg-thumbnailer,--disable-jpeg-thumbnailer,gdk-pixbuf"
PACKAGECONFIG[odf-thumbnailer] = "--enable-odf-thumbnailer,--disable-odf-thumbnailer,gdk-pixbuf libxml2 libgsf"
PACKAGECONFIG[pixbuf-thumbnailer] = "--enable-pixbuf-thumbnailer,--disable-pixbuf-thumbnailer,gdk-pixbuf"
PACKAGECONFIG[poppler-thumbnailer] = "--enable-poppler-thumbnailer,--disable-poppler-thumbnailer,gdk-pixbuf poppler"
EXTRA_OECONF = "GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen"
PACKAGECONFIG[cover-thumbnailer] = "-Dcover-thumbnailer=enabled,-Dcover-thumbnailer=disabled,curl gdk-pixbuf"
PACKAGECONFIG[desktop-thumbnailer] = "-Ddesktop-thumbnailer=enabled,-Ddesktop-thumbnailer=disabled,gdk-pixbuf"
PACKAGECONFIG[font-thumbnailer] = "-Dfont-thumbnailer=enabled,-Dfont-thumbnailer=disabled,freetype gdk-pixbuf"
PACKAGECONFIG[gstreamer-thumbnailer] = "-Dgst-thumbnailer=enabled,-Dgst-thumbnailer=disabled,gstreamer1.0 gstreamer1.0-plugins-base"
PACKAGECONFIG[jpeg-thumbnailer] = "-Djpeg-thumbnailer=enabled,-Djpeg-thumbnailer=disabled,gdk-pixbuf"
PACKAGECONFIG[odf-thumbnailer] = "-Dodf-thumbnailer=enabled,-Dodf-thumbnailer=disabled,gdk-pixbuf libxml2 libgsf"
PACKAGECONFIG[pixbuf-thumbnailer] = "-Dpixbuf-thumbnailer=enabled,-Dpixbuf-thumbnailer=disabled,gdk-pixbuf"
PACKAGECONFIG[poppler-thumbnailer] = "-Dpoppler-thumbnailer=enabled,-Dpoppler-thumbnailer=disabled,gdk-pixbuf poppler"
do_install:append() {
# Makefile seems to race on creation of symlink. So ensure creation here