From: Zhang Peng <[email protected]> tumbler default build without any plugins. In this situation, when xfce desktop startup, tumblerd will segfault as following:
``` tumblerd[1138]: segfault at 30 ip 00007fc5dc169fb0 sp 00007ffd03ee3be8 error 4 in libglib-2.0.so.0.8600.3 [aefb0,7fc5dc0da000+a0000] likely on CPU 2 (core 4, socket 0) ``` Backport upstream fix to handle cases where there are no plugins gracefully Signed-off-by: Zhang Peng <[email protected]> --- ...here-there-are-no-plugins-gracefully.patch | 58 +++++++++++++++++++ .../recipes-xfce/tumbler/tumbler_4.20.1.bb | 1 + 2 files changed, 59 insertions(+) create mode 100644 meta-xfce/recipes-xfce/tumbler/files/0001-Handle-cases-where-there-are-no-plugins-gracefully.patch diff --git a/meta-xfce/recipes-xfce/tumbler/files/0001-Handle-cases-where-there-are-no-plugins-gracefully.patch b/meta-xfce/recipes-xfce/tumbler/files/0001-Handle-cases-where-there-are-no-plugins-gracefully.patch new file mode 100644 index 0000000000..a4e60f998a --- /dev/null +++ b/meta-xfce/recipes-xfce/tumbler/files/0001-Handle-cases-where-there-are-no-plugins-gracefully.patch @@ -0,0 +1,58 @@ +From 95244ee0d1f3184e2c2cae9d33095dc03829b10e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= <[email protected]> +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 <[email protected]> +--- + 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 + diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler_4.20.1.bb b/meta-xfce/recipes-xfce/tumbler/tumbler_4.20.1.bb index 7a01882d57..3cbc43fc20 100644 --- a/meta-xfce/recipes-xfce/tumbler/tumbler_4.20.1.bb +++ b/meta-xfce/recipes-xfce/tumbler/tumbler_4.20.1.bb @@ -7,6 +7,7 @@ DEPENDS = "xfce4-dev-tools-native libxfce4util" inherit xfce gtk-doc systemd +SRC_URI += " file://0001-Handle-cases-where-there-are-no-plugins-gracefully.patch" SRC_URI[sha256sum] = "87b90df8f30144a292d70889e710c8619d8b8803f0e1db3280a4293367a42eae" INSANE_SKIP:${PN} = "dev-so" -- 2.50.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#231989): https://lists.openembedded.org/g/openembedded-core/message/231989 Mute This Topic: https://lists.openembedded.org/mt/118008932/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
