From 7b4e3e021ac21b95053dd7c0ed668b0b7b6b344f Mon Sep 17 00:00:00 2001
From: bruvzg <7645683+bruvzg@users.noreply.github.com>
Date: Wed, 28 Aug 2024 10:14:01 +0300
Subject: [PATCH] [Linux] Fix "all files" filter in the native file dialog.

---
 .../linuxbsd/freedesktop_portal_desktop.cpp     | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/platform/linuxbsd/freedesktop_portal_desktop.cpp b/platform/linuxbsd/freedesktop_portal_desktop.cpp
index 671da7fc2a73..2b98fda0d56f 100644
--- a/platform/linuxbsd/freedesktop_portal_desktop.cpp
+++ b/platform/linuxbsd/freedesktop_portal_desktop.cpp
@@ -377,17 +377,26 @@ Error FreeDesktopPortalDesktop::file_dialog_show(DisplayServer::WindowID p_windo
 			String flt = tokens[0].strip_edges();
 			if (!flt.is_empty()) {
 				if (tokens.size() == 2) {
-					filter_exts.push_back(flt);
+					if (flt == "*.*") {
+						filter_exts.push_back("*");
+					} else {
+						filter_exts.push_back(flt);
+					}
 					filter_names.push_back(tokens[1]);
 				} else {
-					filter_exts.push_back(flt);
-					filter_names.push_back(flt);
+					if (flt == "*.*") {
+						filter_exts.push_back("*");
+						filter_names.push_back(RTR("All Files"));
+					} else {
+						filter_exts.push_back(flt);
+						filter_names.push_back(flt);
+					}
 				}
 			}
 		}
 	}
 	if (filter_names.is_empty()) {
-		filter_exts.push_back("*.*");
+		filter_exts.push_back("*");
 		filter_names.push_back(RTR("All Files"));
 	}