[Pkg-xfce-commits] [Git][xfce-team/desktop/thunar][upstream/latest] New upstream version 4.20.10
Yves-Alexis Perez (@corsac)
gitlab at salsa.debian.org
Sun Sep 13 14:04:29 BST 2026
Yves-Alexis Perez pushed to branch upstream/latest at xfce / desktop / thunar
Commits:
ded662d0 by Yves-Alexis Perez at 2026-09-12T15:43:20+02:00
New upstream version 4.20.10
- - - - -
16 changed files:
- ChangeLog
- NEWS
- configure
- configure.ac
- docs/Thunar.1
- docs/reference/thunar/html/index.html
- docs/reference/thunarx/html/index.html
- docs/reference/thunarx/html/thunarx-Variables-and-functions-to-check-the-library-version.html
- po/ar.gmo
- po/ar.po
- po/cs.gmo
- po/cs.po
- po/thunar.pot
- thunar/thunar-tree-model.c
- thunar/thunar-tree-view-model.c
- thunarx/thunarx-config.h
Changes:
=====================================
ChangeLog
=====================================
@@ -1,3 +1,72 @@
+commit 7760dfaa32db5ab6049606ca048ba2219688f369
+Author: Alexander Schwinn <alexxcons at xfce.org>
+Date: Sat Sep 12 08:08:23 2026 +0200
+
+ Updates for release
+
+commit e5daaba304c41ba96f374a55fe2c68b176cce3f9
+Author: Jacques HULLU <jacques at hullu.fr>
+Date: Wed Aug 12 11:43:22 2026 +0200
+
+ Use G_POST_ORDER when refiltering the tree model (#1460)
+
+ thunar_tree_model_node_traverse_visible() calls g_node_destroy() and
+ g_node_append_data() on the tree it is walking. g_node_traverse_pre_order()
+ caches sibling pointers across the callback, so the traversal then
+ dereferences freed nodes and Thunar crashes when toggling hidden files
+ (Ctrl+H) while a ThunarTreeView exists.
+
+ Visiting children before their parent avoids triggering the issue. This is
+ the workaround suggested by Theo Linkspfeifer in #1460 and acked for the
+ 4.20 branch; a proper fix (not mutating the tree during traversal) is
+ 6a07bb022e6f / !745, which only landed on master.
+
+ Fixes #1822, fixes #1867 on the stable branch.
+
+commit 08425856ade80579a2dcf92c0ca05b7491653b7b
+Author: Anonymous <noreply at xfce.org>
+Date: Mon Aug 10 12:56:34 2026 +0200
+
+ I18n: Update translation ar (86%).
+
+ 904 translated messages, 138 untranslated messages.
+
+ Transifex (https://explore.transifex.com/xfce/).
+
+commit 1f360c1cb656656d4be6d68c88ee5caef71e493f
+Author: Durval Menezes <jmgthu at durval.com>
+Date: Wed Jul 29 17:09:50 2026 -0400
+
+ Fix SIGSEGV in Tree View when renaming directories
+
+ When a directory is renamed, its Node is destroyed. However, an
+ asynchronous file monitor event for its children may still arrive
+ and call thunar_tree_view_model_dir_files_changed on the detached
+ node. This causes GtkTreeView to desync with 'assertion has_child
+ failed', followed by g_sequence_get failing with 'assertion iter
+ != NULL failed', and then thunar crashes with a SIGSEGV.
+
+ The fix is to add a sanity check to abort the update if the node
+ is detached.
+
+ MR xfce/thunar!790
+
+commit 3896ce8ac5c3ac9ab3d93cb2762d059cd65ce974
+Author: Anonymous <noreply at xfce.org>
+Date: Sat Jul 25 00:58:20 2026 +0200
+
+ I18n: Update translation cs (100%).
+
+ 1042 translated messages.
+
+ Transifex (https://explore.transifex.com/xfce/).
+
+commit 346a8a3958173df1bbf22efc3f0f01ba4b1b421e
+Author: Alexander Schwinn <alexxcons at xfce.org>
+Date: Fri Jul 17 11:08:54 2026 +0200
+
+ Back to development
+
commit 05a586b8a0608b0d855e3153fcb5207b0b091ef5
Author: Alexander Schwinn <alexxcons at xfce.org>
Date: Fri Jul 17 11:04:12 2026 +0200
=====================================
NEWS
=====================================
@@ -1,3 +1,10 @@
+4.20.10 (2026-09-12)
+=======
+- Use G_POST_ORDER when refiltering the tree model (#1460)
+- Fix SIGSEGV in Tree View when renaming directories
+- Translation Updates:
+ Arabic, Czech
+
4.20.9 (2026-07-17)
======
- Prevent use-after-free in list-view (#1861)
=====================================
configure
=====================================
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for thunar 4.20.9.
+# Generated by GNU Autoconf 2.72 for thunar 4.20.10.
#
# Report bugs to <https://gitlab.xfce.org/xfce/thunar>.
#
@@ -617,8 +617,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='thunar'
PACKAGE_TARNAME='thunar'
-PACKAGE_VERSION='4.20.9'
-PACKAGE_STRING='thunar 4.20.9'
+PACKAGE_VERSION='4.20.10'
+PACKAGE_STRING='thunar 4.20.10'
PACKAGE_BUGREPORT='https://gitlab.xfce.org/xfce/thunar'
PACKAGE_URL=''
@@ -1562,7 +1562,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-'configure' configures thunar 4.20.9 to adapt to many kinds of systems.
+'configure' configures thunar 4.20.10 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1638,7 +1638,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of thunar 4.20.9:";;
+ short | recursive ) echo "Configuration of thunar 4.20.10:";;
esac
cat <<\_ACEOF
@@ -1820,7 +1820,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-thunar configure 4.20.9
+thunar configure 4.20.10
generated by GNU Autoconf 2.72
Copyright (C) 2023 Free Software Foundation, Inc.
@@ -2129,7 +2129,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by thunar $as_me 4.20.9, which was
+It was created by thunar $as_me 4.20.10, which was
generated by GNU Autoconf 2.72. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3733,7 +3733,7 @@ fi
# Define the identity of the package.
PACKAGE='thunar'
- VERSION='4.20.9'
+ VERSION='4.20.10'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -15412,7 +15412,7 @@ THUNARX_VERINFO=0:0:0
THUNARX_VERSION_API=3
THUNAR_VERSION_MAJOR=4
THUNAR_VERSION_MINOR=20
-THUNAR_VERSION_MICRO=9
+THUNAR_VERSION_MICRO=10
@@ -25248,7 +25248,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by thunar $as_me 4.20.9, which was
+This file was extended by thunar $as_me 4.20.10, which was
generated by GNU Autoconf 2.72. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -25316,7 +25316,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-thunar config.status 4.20.9
+thunar config.status 4.20.10
configured by $0, generated by GNU Autoconf 2.72,
with options \\"\$ac_cs_config\\"
=====================================
configure.ac
=====================================
@@ -25,7 +25,7 @@ dnl ***************************
m4_define([thunarx_verinfo], [0:0:0])
m4_define([thunarx_version_api], [3])
-XDT_VERSION_INIT([4.20.9])
+XDT_VERSION_INIT([4.20.10])
dnl ***************************
dnl *** Initialize autoconf ***
=====================================
docs/Thunar.1
=====================================
@@ -2,12 +2,12 @@
.\" Title: Thunar
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\" Date: 07/17/2026
+.\" Date: 09/12/2026
.\" Manual: User Commands
.\" Source:
.\" Language: English
.\"
-.TH "THUNAR" "1" "07/17/2026" "" "User Commands"
+.TH "THUNAR" "1" "09/12/2026" "" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
=====================================
docs/reference/thunar/html/index.html
=====================================
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Thunar Internal Functions Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- For thunar 4.20.9.
+ For thunar 4.20.10.
The latest version of this documentation can be found on-line at
<a class="ulink" href="https://developer.xfce.org/thunar/index.html" target="_top">https://developer.xfce.org/thunar/</a>.
</p></div>
=====================================
docs/reference/thunarx/html/index.html
=====================================
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">thunarx Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- For thunar 4.20.9.
+ For thunar 4.20.10.
The latest version of this documentation can be found on-line at
<a class="ulink" href="https://developer.xfce.org/thunar/index.html" target="_top">https://developer.xfce.org/thunar/</a>.
</p></div>
=====================================
docs/reference/thunarx/html/thunarx-Variables-and-functions-to-check-the-library-version.html
=====================================
@@ -242,7 +242,7 @@ represents the micro version of the</p>
<hr>
<div class="refsect2">
<a name="THUNARX-MICRO-VERSION:CAPS"></a><h3>THUNARX_MICRO_VERSION</h3>
-<pre class="programlisting">#define THUNARX_MICRO_VERSION 9
+<pre class="programlisting">#define THUNARX_MICRO_VERSION 10
</pre>
</div>
</div>
=====================================
po/ar.gmo
=====================================
Binary files a/po/ar.gmo and b/po/ar.gmo differ
=====================================
po/ar.po
=====================================
@@ -7,15 +7,16 @@
# Abdualrahman Hasan, 2025
# Xfce Bot <transifex at xfce.org>, 2025
# mohammadA <mohammadAbdulhadi1 at gmail.com>, 2025
+# Sod Emin, 2026
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: thunar.xfce-4-20\n"
"Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n"
-"POT-Creation-Date: 2025-09-25 00:52+0200\n"
+"POT-Creation-Date: 2025-12-12 12:53+0100\n"
"PO-Revision-Date: 2024-12-30 16:00+0000\n"
-"Last-Translator: mohammadA <mohammadAbdulhadi1 at gmail.com>, 2025\n"
+"Last-Translator: Sod Emin, 2026\n"
"Language-Team: Arabic (https://app.transifex.com/xfce/teams/16840/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1694,7 +1695,7 @@ msgid "Delete (opposite of create)"
msgstr "حذف (نقيض انشاء)"
#: thunar/thunar-enum-types.c:791 thunar/thunar-file.c:1087
-#: thunar/thunar-gio-extensions.c:510 thunar/thunar-shortcuts-model.c:1157
+#: thunar/thunar-gio-extensions.c:572 thunar/thunar-shortcuts-model.c:1157
#: thunar.desktop.in.in:25
msgid "Trash"
msgstr "المهملات"
@@ -1736,7 +1737,7 @@ msgstr "مدمج"
msgid "Only for local files"
msgstr "للملفات المحلية فقط"
-#: thunar/thunar-file.c:1094 thunar/thunar-gio-extensions.c:508
+#: thunar/thunar-file.c:1094 thunar/thunar-gio-extensions.c:570
#: thunar/thunar-shortcuts-model.c:1039
msgid "File System"
msgstr "نظام الملفات"
@@ -1857,12 +1858,12 @@ msgid "Phone"
msgstr "هاتف"
#. TRANSLATORS: this will result in "<path> on <hostname>"
-#: thunar/thunar-gio-extensions.c:590
+#: thunar/thunar-gio-extensions.c:652
#, c-format
msgid "%s on %s"
msgstr "%s على %s"
-#: thunar/thunar-gio-extensions.c:701
+#: thunar/thunar-gio-extensions.c:763
#, c-format
msgid "%s used (%.0f%%) | %s free (%.0f%%)"
msgstr ""
@@ -2970,10 +2971,6 @@ msgstr ""
msgid "Resuming job..."
msgstr ""
-#: thunar/thunar-progress-view.c:661
-msgid "Queued"
-msgstr ""
-
#: thunar/thunar-properties-dialog.c:358
msgid "General"
msgstr "عام"
@@ -4285,7 +4282,7 @@ msgstr "قائمة"
#: thunar/thunar-window.c:725
msgid "Show the menu"
-msgstr ""
+msgstr "عرض القائمة"
#. add the label with the root warning
#: thunar/thunar-window.c:1066
@@ -4828,7 +4825,7 @@ msgstr "أرسل \"%s\" كأرشيف مضغوط؟"
#: plugins/thunar-sendto-email/main.c:219
#: plugins/thunar-sendto-email/main.c:239
msgid "Send email"
-msgstr ""
+msgstr "إرسال بريد إلكتروني"
#: plugins/thunar-sendto-email/main.c:221
#: plugins/thunar-sendto-email/main.c:241
=====================================
po/cs.gmo
=====================================
Binary files a/po/cs.gmo and b/po/cs.gmo differ
=====================================
po/cs.po
=====================================
@@ -5,8 +5,8 @@
#
# Translators:
# Xfce Bot <transifex at xfce.org>, 2024
-# Michal Várady <miko.vaji at gmail.com>, 2025
# b537cbea55af75c3f49fe8b21c4cf8ea_f0ce149, 2025
+# Michal Várady <miko.vaji at gmail.com>, 2026
#
#, fuzzy
msgid ""
@@ -15,7 +15,7 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n"
"POT-Creation-Date: 2025-12-12 12:53+0100\n"
"PO-Revision-Date: 2024-12-30 16:00+0000\n"
-"Last-Translator: b537cbea55af75c3f49fe8b21c4cf8ea_f0ce149, 2025\n"
+"Last-Translator: Michal Várady <miko.vaji at gmail.com>, 2026\n"
"Language-Team: Czech (https://app.transifex.com/xfce/teams/16840/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1443,7 +1443,7 @@ msgid ""
"The desktop file %s is in an insecure location and not marked as secure%s. If you do not trust this program, click Cancel.\n"
"\n"
msgstr ""
-"Soubor plochy %s není v bezpečném umístění a není označen jako spustitelný %s. Nedůvěřujete-li programu, stiskněte tlačítko Zrušit.\n"
+"Soubor .desktop %s je v nezabezpečeném umístění a není označen jako důvěryhodný%s. Pokud tomuto programu nedůvěřujete, klikněte na Zrušit.\n"
"\n"
#: thunar/thunar-dialogs.c:1096
=====================================
po/thunar.pot
=====================================
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: thunar 4.20.9\n"
+"Project-Id-Version: thunar 4.20.10\n"
"Report-Msgid-Bugs-To: https://gitlab.xfce.org/xfce/thunar\n"
-"POT-Creation-Date: 2026-07-17 09:04+0000\n"
+"POT-Creation-Date: 2026-09-12 06:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
=====================================
thunar/thunar-tree-model.c
=====================================
@@ -1916,8 +1916,11 @@ thunar_tree_model_refilter (ThunarTreeModel *model)
{
_thunar_return_if_fail (THUNAR_IS_TREE_MODEL (model));
- /* traverse all nodes to update their visibility */
- g_node_traverse (model->root, G_PRE_ORDER, G_TRAVERSE_ALL, -1,
+ /* traverse all nodes to update their visibility.
+ * G_POST_ORDER is required: thunar_tree_model_node_traverse_visible() can
+ * destroy and append nodes, and g_node_traverse_pre_order() keeps sibling
+ * pointers across the callback, which then dereferences freed nodes. */
+ g_node_traverse (model->root, G_POST_ORDER, G_TRAVERSE_ALL, -1,
thunar_tree_model_node_traverse_visible, model);
}
=====================================
thunar/thunar-tree-view-model.c
=====================================
@@ -2820,7 +2820,7 @@ static void
thunar_tree_view_model_dir_files_changed (Node *node_parent,
GHashTable *files)
{
- ThunarTreeViewModel *model = node_parent->model;
+ ThunarTreeViewModel *model;
GSequenceIter *iter;
GtkTreeIter tree_iter;
GHashTableIter files_iter;
@@ -2833,6 +2833,16 @@ thunar_tree_view_model_dir_files_changed (Node *node_parent,
ThunarFile *file;
gpointer key;
+ /* SANITY CHECK: Protect against Use-After-Free race conditions where the parent
+ * directory was renamed/detached before the child file's monitor event finished. */
+ if (node_parent == NULL || (node_parent->ptr == NULL && node_parent->parent == NULL))
+ {
+ g_message ("ThunarTreeViewModel: Caught and ignored files_changed on a detached node.");
+ return; /* Abort the entire update for this ghost directory */
+ }
+
+ model = node_parent->model;
+
g_hash_table_iter_init (&files_iter, files);
while (g_hash_table_iter_next (&files_iter, &key, NULL))
{
=====================================
thunarx/thunarx-config.h
=====================================
@@ -31,7 +31,7 @@ G_BEGIN_DECLS
#define THUNARX_MAJOR_VERSION 4
#define THUNARX_MINOR_VERSION 20
-#define THUNARX_MICRO_VERSION 9
+#define THUNARX_MICRO_VERSION 10
#define THUNARX_CHECK_VERSION(major,minor,micro) \
(THUNARX_MAJOR_VERSION > (major) \
View it on GitLab: https://salsa.debian.org/xfce-team/desktop/thunar/-/commit/ded662d020ce2defa2629e5b25ee27f3dfa41878
--
View it on GitLab: https://salsa.debian.org/xfce-team/desktop/thunar/-/commit/ded662d020ce2defa2629e5b25ee27f3dfa41878
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-xfce-commits/attachments/20260913/4591e06a/attachment-0001.htm>
More information about the Pkg-xfce-commits
mailing list