From 00ef5854241f3eb41076a742f7bc26ed53734772 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Mar 28 2023 11:23:02 +0000 Subject: import nautilus-40.2-11.el9 --- diff --git a/SOURCES/Revert-application-add-common-startup-code.patch b/SOURCES/Revert-application-add-common-startup-code.patch new file mode 100644 index 0000000..096ef62 --- /dev/null +++ b/SOURCES/Revert-application-add-common-startup-code.patch @@ -0,0 +1,92 @@ +From 5b40335c34a3b920348633274a03d073d1338a09 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Mon, 9 Jan 2023 13:12:17 +0100 +Subject: [PATCH] Revert "application: add common startup code" + +This reverts commit 23ae53870a39afe43548111b6432db39511a6e97. This +change was needed for split of desktop-related functionality, but it +seems no more needed to me. Let's revert those changes to make the +code a bit easier as a preparation for the next commits. +--- + src/nautilus-application.c | 32 ++++++-------------------------- + src/nautilus-application.h | 1 - + 2 files changed, 6 insertions(+), 27 deletions(-) + +diff --git a/src/nautilus-application.c b/src/nautilus-application.c +index 5deae5cc9..9cc435ec3 100644 +--- a/src/nautilus-application.c ++++ b/src/nautilus-application.c +@@ -1298,9 +1298,10 @@ icon_theme_changed_callback (GtkIconTheme *icon_theme, + emit_change_signals_for_all_files_in_all_directories (); + } + +-void +-nautilus_application_startup_common (NautilusApplication *self) ++static void ++nautilus_application_startup (GApplication *app) + { ++ NautilusApplication *self = NAUTILUS_APPLICATION (app); + NautilusApplicationPrivate *priv; + + nautilus_profile_start (NULL); +@@ -1319,6 +1320,9 @@ nautilus_application_startup_common (NautilusApplication *self) + + setup_theme_extensions (); + ++ /* create DBus manager */ ++ priv->fdb_manager = nautilus_freedesktop_dbus_new (); ++ + /* initialize preferences and create the global GSettings objects */ + nautilus_global_preferences_init (); + +@@ -1352,22 +1356,6 @@ nautilus_application_startup_common (NautilusApplication *self) + NULL, 0); + } + +-static void +-nautilus_application_startup (GApplication *app) +-{ +- NautilusApplication *self = NAUTILUS_APPLICATION (app); +- NautilusApplicationPrivate *priv; +- +- nautilus_profile_start (NULL); +- priv = nautilus_application_get_instance_private (self); +- +- /* create DBus manager */ +- priv->fdb_manager = nautilus_freedesktop_dbus_new (); +- nautilus_application_startup_common (self); +- +- nautilus_profile_end (NULL); +-} +- + static gboolean + nautilus_application_dbus_register (GApplication *app, + GDBusConnection *connection, +@@ -1443,14 +1431,6 @@ update_dbus_opened_locations (NautilusApplication *self) + g_return_if_fail (NAUTILUS_IS_APPLICATION (self)); + + priv = nautilus_application_get_instance_private (self); +- +- /* Children of nautilus application could not handle the dbus, so don't +- * do anything in that case */ +- if (!priv->fdb_manager) +- { +- return; +- } +- + dbus_object_path = g_application_get_dbus_object_path (G_APPLICATION (self)); + + g_return_if_fail (dbus_object_path); +diff --git a/src/nautilus-application.h b/src/nautilus-application.h +index f915b0d4d..d5cfc11b3 100644 +--- a/src/nautilus-application.h ++++ b/src/nautilus-application.h +@@ -85,5 +85,4 @@ GtkWidget * nautilus_application_connect_server (NautilusApplication *applicatio + + void nautilus_application_search (NautilusApplication *application, + NautilusQuery *query); +-void nautilus_application_startup_common (NautilusApplication *application); + G_END_DECLS +-- +2.38.1 + diff --git a/SOURCES/Revert-freedesktop-dbus-Defer-D-Bus-property-setting.patch b/SOURCES/Revert-freedesktop-dbus-Defer-D-Bus-property-setting.patch new file mode 100644 index 0000000..5d265ca --- /dev/null +++ b/SOURCES/Revert-freedesktop-dbus-Defer-D-Bus-property-setting.patch @@ -0,0 +1,160 @@ +From 7de08188d8d012d9aa8f49fe27b7992d081a7307 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Wed, 11 Jan 2023 09:44:25 +0100 +Subject: [PATCH] Revert "freedesktop-dbus: Defer D-Bus property setting" + +This reverts commit 3014f69485a120bedf0eec5af441346a95fe27f7 and part of +the commit a1751d3d870c6cdc092f893755623c4ff20e1ef3. This extra handling +was needed because `NautilusFreedesktopDBus` methods might be called before +establishing its own D-Bus connection. The follow-up commit is going to use +the already established connection from the `dbus_register` vfunc. It +should be ensured that the `dbus_register` vfunc is called before the +`window_added`, `window_removed`, or `startup` vfunc. Consequently, this +extra handling is going to be redundant. Let's remove it as a preparation +for the next commit. +--- + src/nautilus-freedesktop-dbus.c | 79 ++------------------------------- + 1 file changed, 3 insertions(+), 76 deletions(-) + +diff --git a/src/nautilus-freedesktop-dbus.c b/src/nautilus-freedesktop-dbus.c +index 5cbbbad01..c75678399 100644 +--- a/src/nautilus-freedesktop-dbus.c ++++ b/src/nautilus-freedesktop-dbus.c +@@ -40,11 +40,6 @@ struct _NautilusFreedesktopDBus + + /* Our DBus implementation skeleton */ + NautilusFreedesktopFileManager1 *skeleton; +- +- GStrv pending_open_locations; +- GVariant *pending_open_windows_with_locations; +- +- gboolean name_lost; + }; + + G_DEFINE_TYPE (NautilusFreedesktopDBus, nautilus_freedesktop_dbus, G_TYPE_OBJECT); +@@ -162,24 +157,6 @@ bus_acquired_cb (GDBusConnection *conn, + G_CALLBACK (skeleton_handle_show_item_properties_cb), fdb); + + g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (fdb->skeleton), conn, NAUTILUS_FDO_DBUS_PATH, NULL); +- +- if (G_UNLIKELY (fdb->pending_open_locations != NULL)) +- { +- g_auto (GStrv) locations = NULL; +- +- locations = g_steal_pointer (&fdb->pending_open_locations); +- +- nautilus_freedesktop_dbus_set_open_locations (fdb, (const gchar **) locations); +- } +- +- if (G_UNLIKELY (fdb->pending_open_windows_with_locations != NULL)) +- { +- g_autoptr (GVariant) locations = NULL; +- +- locations = g_steal_pointer (&fdb->pending_open_windows_with_locations); +- +- nautilus_freedesktop_dbus_set_open_windows_with_locations (fdb, locations); +- } + } + + static void +@@ -195,13 +172,7 @@ name_lost_cb (GDBusConnection *connection, + const gchar *name, + gpointer user_data) + { +- NautilusFreedesktopDBus *fdb; +- + DEBUG ("Lost (or failed to acquire) the name %s on the session message bus\n", name); +- +- fdb = NAUTILUS_FREEDESKTOP_DBUS (user_data); +- +- fdb->name_lost = TRUE; + } + + static void +@@ -225,24 +196,12 @@ nautilus_freedesktop_dbus_dispose (GObject *object) + G_OBJECT_CLASS (nautilus_freedesktop_dbus_parent_class)->dispose (object); + } + +-static void +-nautilus_freedesktop_dbus_finalize (GObject *object) +-{ +- NautilusFreedesktopDBus *fdb; +- +- fdb = NAUTILUS_FREEDESKTOP_DBUS (object); +- +- g_clear_pointer (&fdb->pending_open_locations, g_strfreev); +- g_clear_pointer (&fdb->pending_open_windows_with_locations, g_variant_unref); +-} +- + static void + nautilus_freedesktop_dbus_class_init (NautilusFreedesktopDBusClass *klass) + { + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->dispose = nautilus_freedesktop_dbus_dispose; +- object_class->finalize = nautilus_freedesktop_dbus_finalize; + } + + static void +@@ -256,10 +215,6 @@ nautilus_freedesktop_dbus_init (NautilusFreedesktopDBus *fdb) + name_lost_cb, + fdb, + NULL); +- fdb->skeleton = NULL; +- fdb->pending_open_locations = NULL; +- fdb->pending_open_windows_with_locations = NULL; +- fdb->name_lost = FALSE; + } + + void +@@ -268,21 +223,7 @@ nautilus_freedesktop_dbus_set_open_locations (NautilusFreedesktopDBus *fdb, + { + g_return_if_fail (NAUTILUS_IS_FREEDESKTOP_DBUS (fdb)); + +- if (G_UNLIKELY (fdb->skeleton == NULL)) +- { +- if (G_LIKELY (fdb->name_lost)) +- { +- return; +- } +- +- g_clear_pointer (&fdb->pending_open_locations, g_strfreev); +- +- fdb->pending_open_locations = g_strdupv ((gchar **) locations); +- } +- else +- { +- nautilus_freedesktop_file_manager1_set_open_locations (fdb->skeleton, locations); +- } ++ nautilus_freedesktop_file_manager1_set_open_locations (fdb->skeleton, locations); + } + + /** +@@ -301,22 +242,8 @@ nautilus_freedesktop_dbus_set_open_windows_with_locations (NautilusFreedesktopDB + { + g_return_if_fail (NAUTILUS_IS_FREEDESKTOP_DBUS (fdb)); + +- if (G_UNLIKELY (fdb->skeleton == NULL)) +- { +- if (G_LIKELY (fdb->name_lost)) +- { +- return; +- } +- +- g_clear_pointer (&fdb->pending_open_windows_with_locations, g_variant_unref); +- +- fdb->pending_open_windows_with_locations = g_variant_ref (locations); +- } +- else +- { +- nautilus_freedesktop_file_manager1_set_open_windows_with_locations (fdb->skeleton, +- locations); +- } ++ nautilus_freedesktop_file_manager1_set_open_windows_with_locations (fdb->skeleton, ++ locations); + } + + /* Tries to own the org.freedesktop.FileManager1 service name */ +-- +2.38.1 + diff --git a/SOURCES/application-Export-FileManager1-iface-from-dbus_regi.patch b/SOURCES/application-Export-FileManager1-iface-from-dbus_regi.patch new file mode 100644 index 0000000..40b764b --- /dev/null +++ b/SOURCES/application-Export-FileManager1-iface-from-dbus_regi.patch @@ -0,0 +1,305 @@ +From 1fa3039c67671fe53416b2575f3c305029ef4854 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Wed, 11 Jan 2023 09:55:41 +0100 +Subject: [PATCH] application: Export FileManager1 iface from dbus_register + vfunc + +The `org/freedesktop/FileManager1` interface is not currently exported +from the `dbus_register` vfunc. This causes issues for projects (e.g. +desktop-icons extension) that want to use all the Nautilus intefaces +over the `org.gnome.Nautilus` connection. Let's use the already established +connection and export the `FileManager1` interface from the `dbus_register` +vfunc. + +https://bugzilla.redhat.com/show_bug.cgi?id=2150894 +--- + src/nautilus-application.c | 17 ++-- + src/nautilus-freedesktop-dbus.c | 153 +++++++++++++++++++++++++------- + src/nautilus-freedesktop-dbus.h | 6 +- + 3 files changed, 138 insertions(+), 38 deletions(-) + +diff --git a/src/nautilus-application.c b/src/nautilus-application.c +index 9cc435ec3..16725932d 100644 +--- a/src/nautilus-application.c ++++ b/src/nautilus-application.c +@@ -578,8 +578,6 @@ nautilus_application_finalize (GObject *object) + g_clear_object (&priv->progress_handler); + g_clear_object (&priv->bookmark_list); + +- g_clear_object (&priv->fdb_manager); +- + g_list_free (priv->windows); + + g_hash_table_destroy (priv->notifications); +@@ -1320,9 +1318,6 @@ nautilus_application_startup (GApplication *app) + + setup_theme_extensions (); + +- /* create DBus manager */ +- priv->fdb_manager = nautilus_freedesktop_dbus_new (); +- + /* initialize preferences and create the global GSettings objects */ + nautilus_global_preferences_init (); + +@@ -1372,6 +1367,12 @@ nautilus_application_dbus_register (GApplication *app, + return FALSE; + } + ++ priv->fdb_manager = nautilus_freedesktop_dbus_new (connection); ++ if (!nautilus_freedesktop_dbus_register (priv->fdb_manager, error)) ++ { ++ return FALSE; ++ } ++ + priv->search_provider = nautilus_shell_search_provider_new (); + if (!nautilus_shell_search_provider_register (priv->search_provider, connection, error)) + { +@@ -1398,6 +1399,12 @@ nautilus_application_dbus_unregister (GApplication *app, + g_clear_object (&priv->dbus_manager); + } + ++ if (priv->fdb_manager) ++ { ++ nautilus_freedesktop_dbus_unregister (priv->fdb_manager); ++ g_clear_object (&priv->fdb_manager); ++ } ++ + if (priv->search_provider) + { + nautilus_shell_search_provider_unregister (priv->search_provider); +diff --git a/src/nautilus-freedesktop-dbus.c b/src/nautilus-freedesktop-dbus.c +index c75678399..c253cfaba 100644 +--- a/src/nautilus-freedesktop-dbus.c ++++ b/src/nautilus-freedesktop-dbus.c +@@ -40,6 +40,14 @@ struct _NautilusFreedesktopDBus + + /* Our DBus implementation skeleton */ + NautilusFreedesktopFileManager1 *skeleton; ++ ++ GDBusConnection *connection; ++}; ++ ++enum ++{ ++ PROP_0, ++ PROP_CONNECTION, + }; + + G_DEFINE_TYPE (NautilusFreedesktopDBus, nautilus_freedesktop_dbus, G_TYPE_OBJECT); +@@ -138,27 +146,6 @@ skeleton_handle_show_item_properties_cb (NautilusFreedesktopFileManager1 *object + return TRUE; + } + +-static void +-bus_acquired_cb (GDBusConnection *conn, +- const gchar *name, +- gpointer user_data) +-{ +- NautilusFreedesktopDBus *fdb = user_data; +- +- DEBUG ("Bus acquired at %s", name); +- +- fdb->skeleton = nautilus_freedesktop_file_manager1_skeleton_new (); +- +- g_signal_connect (fdb->skeleton, "handle-show-items", +- G_CALLBACK (skeleton_handle_show_items_cb), fdb); +- g_signal_connect (fdb->skeleton, "handle-show-folders", +- G_CALLBACK (skeleton_handle_show_folders_cb), fdb); +- g_signal_connect (fdb->skeleton, "handle-show-item-properties", +- G_CALLBACK (skeleton_handle_show_item_properties_cb), fdb); +- +- g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (fdb->skeleton), conn, NAUTILUS_FDO_DBUS_PATH, NULL); +-} +- + static void + name_acquired_cb (GDBusConnection *connection, + const gchar *name, +@@ -175,6 +162,20 @@ name_lost_cb (GDBusConnection *connection, + DEBUG ("Lost (or failed to acquire) the name %s on the session message bus\n", name); + } + ++static void ++nautilus_freedesktop_dbus_constructed (GObject *object) ++{ ++ NautilusFreedesktopDBus *fdb = NAUTILUS_FREEDESKTOP_DBUS (object); ++ ++ fdb->owner_id = g_bus_own_name_on_connection (fdb->connection, ++ NAUTILUS_FDO_DBUS_NAME, ++ G_BUS_NAME_OWNER_FLAGS_NONE, ++ name_acquired_cb, ++ name_lost_cb, ++ fdb, ++ NULL); ++} ++ + static void + nautilus_freedesktop_dbus_dispose (GObject *object) + { +@@ -188,33 +189,87 @@ nautilus_freedesktop_dbus_dispose (GObject *object) + + if (fdb->skeleton != NULL) + { +- g_dbus_interface_skeleton_unexport (G_DBUS_INTERFACE_SKELETON (fdb->skeleton)); + g_object_unref (fdb->skeleton); + fdb->skeleton = NULL; + } + ++ g_clear_object (&fdb->connection); ++ + G_OBJECT_CLASS (nautilus_freedesktop_dbus_parent_class)->dispose (object); + } + ++static void ++nautilus_freedesktop_dbus_set_property (GObject *object, ++ guint prop_id, ++ const GValue *value, ++ GParamSpec *pspec) ++{ ++ NautilusFreedesktopDBus *fdb = NAUTILUS_FREEDESKTOP_DBUS (object); ++ ++ switch (prop_id) ++ { ++ case PROP_CONNECTION: ++ { ++ g_set_object (&fdb->connection, g_value_get_object (value)); ++ } ++ break; ++ ++ default: ++ { ++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); ++ } ++ break; ++ } ++} ++ ++static void ++nautilus_freedesktop_dbus_get_property (GObject *object, ++ guint prop_id, ++ GValue *value, ++ GParamSpec *pspec) ++{ ++ NautilusFreedesktopDBus *fdb = NAUTILUS_FREEDESKTOP_DBUS (object); ++ ++ switch (prop_id) ++ { ++ case PROP_CONNECTION: ++ { ++ g_value_set_object (value, fdb->connection); ++ } ++ break; ++ ++ default: ++ { ++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); ++ } ++ break; ++ } ++} ++ + static void + nautilus_freedesktop_dbus_class_init (NautilusFreedesktopDBusClass *klass) + { + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->dispose = nautilus_freedesktop_dbus_dispose; ++ object_class->constructed = nautilus_freedesktop_dbus_constructed; ++ object_class->get_property = nautilus_freedesktop_dbus_get_property; ++ object_class->set_property = nautilus_freedesktop_dbus_set_property; ++ ++ g_object_class_install_property (object_class, ++ PROP_CONNECTION, ++ g_param_spec_object ("connection", ++ "Connection", ++ "GDBus connection property", ++ G_TYPE_DBUS_CONNECTION, ++ G_PARAM_CONSTRUCT_ONLY | ++ G_PARAM_READWRITE)); + } + + static void + nautilus_freedesktop_dbus_init (NautilusFreedesktopDBus *fdb) + { +- fdb->owner_id = g_bus_own_name (G_BUS_TYPE_SESSION, +- NAUTILUS_FDO_DBUS_NAME, +- G_BUS_NAME_OWNER_FLAGS_NONE, +- bus_acquired_cb, +- name_acquired_cb, +- name_lost_cb, +- fdb, +- NULL); ++ fdb->skeleton = nautilus_freedesktop_file_manager1_skeleton_new (); + } + + void +@@ -248,7 +303,41 @@ nautilus_freedesktop_dbus_set_open_windows_with_locations (NautilusFreedesktopDB + + /* Tries to own the org.freedesktop.FileManager1 service name */ + NautilusFreedesktopDBus * +-nautilus_freedesktop_dbus_new (void) ++nautilus_freedesktop_dbus_new (GDBusConnection *connection) ++{ ++ return g_object_new (NAUTILUS_TYPE_FREEDESKTOP_DBUS, ++ "connection", connection, ++ NULL); ++} ++ ++gboolean ++nautilus_freedesktop_dbus_register (NautilusFreedesktopDBus *fdb, ++ GError **error) ++{ ++ gboolean success; ++ ++ success = g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (fdb->skeleton), ++ fdb->connection, ++ NAUTILUS_FDO_DBUS_PATH, ++ error); ++ ++ if (success) ++ { ++ g_signal_connect (fdb->skeleton, "handle-show-items", ++ G_CALLBACK (skeleton_handle_show_items_cb), fdb); ++ g_signal_connect (fdb->skeleton, "handle-show-folders", ++ G_CALLBACK (skeleton_handle_show_folders_cb), fdb); ++ g_signal_connect (fdb->skeleton, "handle-show-item-properties", ++ G_CALLBACK (skeleton_handle_show_item_properties_cb), fdb); ++ } ++ ++ return success; ++} ++ ++void ++nautilus_freedesktop_dbus_unregister (NautilusFreedesktopDBus *fdb) + { +- return g_object_new (NAUTILUS_TYPE_FREEDESKTOP_DBUS, NULL); ++ g_dbus_interface_skeleton_unexport (G_DBUS_INTERFACE_SKELETON (fdb->skeleton)); ++ ++ g_signal_handlers_disconnect_by_data (fdb->skeleton, fdb); + } +diff --git a/src/nautilus-freedesktop-dbus.h b/src/nautilus-freedesktop-dbus.h +index 416900eb9..8fb09e498 100644 +--- a/src/nautilus-freedesktop-dbus.h ++++ b/src/nautilus-freedesktop-dbus.h +@@ -21,6 +21,7 @@ + #pragma once + + #include ++#include + + #define NAUTILUS_FDO_DBUS_IFACE "org.freedesktop.FileManager1" + #define NAUTILUS_FDO_DBUS_NAME "org.freedesktop.FileManager1" +@@ -30,7 +31,10 @@ + + G_DECLARE_FINAL_TYPE (NautilusFreedesktopDBus, nautilus_freedesktop_dbus, NAUTILUS, FREEDESKTOP_DBUS, GObject); + +-NautilusFreedesktopDBus * nautilus_freedesktop_dbus_new (void); ++NautilusFreedesktopDBus * nautilus_freedesktop_dbus_new (GDBusConnection *connection); ++ ++gboolean nautilus_freedesktop_dbus_register (NautilusFreedesktopDBus *fdb, GError **error); ++void nautilus_freedesktop_dbus_unregister (NautilusFreedesktopDBus *fdb); + + void nautilus_freedesktop_dbus_set_open_locations (NautilusFreedesktopDBus *fdb, const gchar **locations); + +-- +2.38.1 + diff --git a/SOURCES/files-view-Backport-translations.patch b/SOURCES/files-view-Backport-translations.patch index f86e540..f9d30fe 100644 --- a/SOURCES/files-view-Backport-translations.patch +++ b/SOURCES/files-view-Backport-translations.patch @@ -1,156 +1,400 @@ +diff -ruN nautilus-40.2/po/bg.po nautilus-40.2.translations/po/bg.po +--- nautilus-40.2/po/bg.po 2022-09-22 15:52:30.138654010 +0200 ++++ nautilus-40.2.translations/po/bg.po 2022-09-22 15:52:33.477666280 +0200 +@@ -5483,3 +5483,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:226 + msgid "Enter a password here." + msgstr "Въведете парола." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_Копиране на местоположение" diff -ruN nautilus-40.2/po/ca.po nautilus-40.2.translations/po/ca.po ---- nautilus-40.2/po/ca.po 2022-06-21 17:20:51.823378453 +0200 -+++ nautilus-40.2.translations/po/ca.po 2022-06-21 17:22:25.337339247 +0200 +--- nautilus-40.2/po/ca.po 2022-09-22 15:52:30.138654010 +0200 ++++ nautilus-40.2.translations/po/ca.po 2022-09-22 15:52:33.505666383 +0200 @@ -5907,3 +5907,7 @@ #: src/resources/ui/nautilus-compress-dialog.ui:225 msgid "Enter a password here." msgstr "Introduïu una contrasenya aquí." + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:24 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "_Copia la ubicació" +diff -ruN nautilus-40.2/po/cs.po nautilus-40.2.translations/po/cs.po +--- nautilus-40.2/po/cs.po 2022-09-22 15:52:30.139654013 +0200 ++++ nautilus-40.2.translations/po/cs.po 2022-09-22 15:52:33.524666453 +0200 +@@ -5767,3 +5767,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "zde zadejte heslo" ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "Z_kopírovat umístění" +diff -ruN nautilus-40.2/po/da.po nautilus-40.2.translations/po/da.po +--- nautilus-40.2/po/da.po 2022-09-22 15:52:30.139654013 +0200 ++++ nautilus-40.2.translations/po/da.po 2022-09-22 15:52:33.537666500 +0200 +@@ -7522,3 +7522,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Indtast en adgangskode her." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_Kopiér placering" diff -ruN nautilus-40.2/po/de.po nautilus-40.2.translations/po/de.po ---- nautilus-40.2/po/de.po 2022-06-21 17:20:51.825378453 +0200 -+++ nautilus-40.2.translations/po/de.po 2022-06-21 17:22:25.422339211 +0200 +--- nautilus-40.2/po/de.po 2022-09-22 15:52:30.140654017 +0200 ++++ nautilus-40.2.translations/po/de.po 2022-09-22 15:52:33.546666534 +0200 @@ -6034,3 +6034,7 @@ #: src/resources/ui/nautilus-compress-dialog.ui:225 msgid "Enter a password here." msgstr "Geben Sie hier ein Passwort ein." + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:24 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "Ort _kopieren" +diff -ruN nautilus-40.2/po/el.po nautilus-40.2.translations/po/el.po +--- nautilus-40.2/po/el.po 2022-09-22 15:52:30.140654017 +0200 ++++ nautilus-40.2.translations/po/el.po 2022-09-22 15:52:33.559666581 +0200 +@@ -6135,3 +6135,8 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Εισαγωγή συνθηματικού εδώ." ++ ++# ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_Αντιγραφή τοποθεσίας" +diff -ruN nautilus-40.2/po/en_GB.po nautilus-40.2.translations/po/en_GB.po +--- nautilus-40.2/po/en_GB.po 2022-09-22 15:52:30.141654021 +0200 ++++ nautilus-40.2.translations/po/en_GB.po 2022-09-22 15:52:33.571666625 +0200 +@@ -10323,3 +10323,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Enter a password here." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_Copy Location" diff -ruN nautilus-40.2/po/es.po nautilus-40.2.translations/po/es.po ---- nautilus-40.2/po/es.po 2022-06-21 17:20:51.827378452 +0200 -+++ nautilus-40.2.translations/po/es.po 2022-06-21 17:22:25.461339195 +0200 +--- nautilus-40.2/po/es.po 2022-09-22 15:52:30.142654024 +0200 ++++ nautilus-40.2.translations/po/es.po 2022-09-22 15:52:33.589666692 +0200 @@ -11269,3 +11269,8 @@ #| msgid "Enter password…" msgid "Enter a password here." msgstr "Introduzca una contraseña aquí." + +# src/nautilus-location-bar.c:401 -+#: src/resources/ui/nautilus-files-view-context-menus.ui:24 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "Copiar _ubicación" +diff -ruN nautilus-40.2/po/eu.po nautilus-40.2.translations/po/eu.po +--- nautilus-40.2/po/eu.po 2022-09-22 15:52:30.142654024 +0200 ++++ nautilus-40.2.translations/po/eu.po 2022-09-22 15:52:33.600666732 +0200 +@@ -5688,3 +5688,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Idatzi pasahitza hemen." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_Kopiatu kokalekua" diff -ruN nautilus-40.2/po/fa.po nautilus-40.2.translations/po/fa.po ---- nautilus-40.2/po/fa.po 2022-06-21 17:20:51.828378451 +0200 -+++ nautilus-40.2.translations/po/fa.po 2022-06-21 17:22:25.482339186 +0200 +--- nautilus-40.2/po/fa.po 2022-09-22 15:52:30.143654028 +0200 ++++ nautilus-40.2.translations/po/fa.po 2022-09-22 15:52:33.612666776 +0200 @@ -10626,3 +10626,7 @@ #: src/resources/ui/nautilus-compress-dialog.ui:225 msgid "Enter a password here." msgstr "این‌جا گذرواژه‌ای وارد کنید." + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:24 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "_رونوشت از مکان" +diff -ruN nautilus-40.2/po/fi.po nautilus-40.2.translations/po/fi.po +--- nautilus-40.2/po/fi.po 2022-09-22 15:52:30.144654032 +0200 ++++ nautilus-40.2.translations/po/fi.po 2022-09-22 15:52:33.621666809 +0200 +@@ -7375,3 +7375,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Kirjoita salasana tähän." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "Kopioi si_jainti" diff -ruN nautilus-40.2/po/fr.po nautilus-40.2.translations/po/fr.po ---- nautilus-40.2/po/fr.po 2022-06-21 17:20:51.830378450 +0200 -+++ nautilus-40.2.translations/po/fr.po 2022-06-21 17:22:25.496339180 +0200 +--- nautilus-40.2/po/fr.po 2022-09-22 15:52:30.144654032 +0200 ++++ nautilus-40.2.translations/po/fr.po 2022-09-22 15:52:33.629666839 +0200 @@ -6019,3 +6019,7 @@ #| msgid "Enter password…" msgid "Enter a password here." msgstr "Saisissez un mot de passe ici." + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:34 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "Co_pier l’emplacement" diff -ruN nautilus-40.2/po/fur.po nautilus-40.2.translations/po/fur.po ---- nautilus-40.2/po/fur.po 2022-06-21 17:20:51.830378450 +0200 -+++ nautilus-40.2.translations/po/fur.po 2022-06-21 17:22:25.507339176 +0200 +--- nautilus-40.2/po/fur.po 2022-09-22 15:52:30.145654035 +0200 ++++ nautilus-40.2.translations/po/fur.po 2022-09-22 15:52:33.638666872 +0200 @@ -8140,3 +8140,7 @@ #: src/resources/ui/nautilus-compress-dialog.ui:209 msgid "Enter a password here." msgstr "Inserìs achì une password." + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:24 ++#: src/resources/ui/nautilus-files-view-context-menus.ui:34 +msgid "_Copy Location" +msgstr "_Copie posizion" diff -ruN nautilus-40.2/po/gl.po nautilus-40.2.translations/po/gl.po ---- nautilus-40.2/po/gl.po 2022-06-21 17:20:51.831378450 +0200 -+++ nautilus-40.2.translations/po/gl.po 2022-06-21 17:22:25.526339168 +0200 -@@ -5897,3 +5897,8 @@ +--- nautilus-40.2/po/gl.po 2022-09-22 15:52:30.145654035 +0200 ++++ nautilus-40.2.translations/po/gl.po 2022-09-22 15:52:33.658666945 +0200 +@@ -5897,3 +5897,7 @@ #| msgid "Enter password…" msgid "Enter a password here." msgstr "Escriba un contrasinal aquí…" + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:24 -+#| msgid "Location" ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "_Copiar localización" diff -ruN nautilus-40.2/po/he.po nautilus-40.2.translations/po/he.po ---- nautilus-40.2/po/he.po 2022-06-21 17:20:51.831378450 +0200 -+++ nautilus-40.2.translations/po/he.po 2022-06-21 17:22:25.549339158 +0200 +--- nautilus-40.2/po/he.po 2022-09-22 15:52:30.146654039 +0200 ++++ nautilus-40.2.translations/po/he.po 2022-09-22 15:52:33.679667022 +0200 @@ -11143,3 +11143,7 @@ #: src/resources/ui/nautilus-compress-dialog.ui:225 msgid "Enter a password here." msgstr "נא למלא כאן ססמה." + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:34 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "ה_עתקת מיקום" +diff -ruN nautilus-40.2/po/hr.po nautilus-40.2.translations/po/hr.po +--- nautilus-40.2/po/hr.po 2022-09-22 15:52:30.147654043 +0200 ++++ nautilus-40.2.translations/po/hr.po 2022-09-22 15:52:33.692667070 +0200 +@@ -6489,3 +6489,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Upišite lozinku ovdje." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_Kopiraj lokaciju" +diff -ruN nautilus-40.2/po/hu.po nautilus-40.2.translations/po/hu.po +--- nautilus-40.2/po/hu.po 2022-09-22 15:52:30.147654043 +0200 ++++ nautilus-40.2.translations/po/hu.po 2022-09-22 15:52:33.700667099 +0200 +@@ -5868,3 +5868,8 @@ + #| msgid "Enter password…" + msgid "Enter a password here." + msgstr "Adjon meg egy jelszót itt." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++#| msgid "Location" ++msgid "_Copy Location" ++msgstr "Hely má_solása" +diff -ruN nautilus-40.2/po/id.po nautilus-40.2.translations/po/id.po +--- nautilus-40.2/po/id.po 2022-09-22 15:52:30.148654046 +0200 ++++ nautilus-40.2.translations/po/id.po 2022-09-22 15:52:33.713667147 +0200 +@@ -6368,3 +6368,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Masukkan kata sandi di sini." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_Salin Lokasi" +diff -ruN nautilus-40.2/po/ka.po nautilus-40.2.translations/po/ka.po +--- nautilus-40.2/po/ka.po 2021-06-04 13:59:15.686239200 +0200 ++++ nautilus-40.2.translations/po/ka.po 2022-09-22 15:52:33.742667254 +0200 +@@ -6877,3 +6877,7 @@ + + #~ msgid "Video CD" + #~ msgstr "ვიდეო CD ფორმატში" ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_მდებარეობის კოპირება" +diff -ruN nautilus-40.2/po/kk.po nautilus-40.2.translations/po/kk.po +--- nautilus-40.2/po/kk.po 2022-09-22 15:52:30.151654057 +0200 ++++ nautilus-40.2.translations/po/kk.po 2022-09-22 15:52:33.752667291 +0200 +@@ -7856,3 +7856,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Парольді осында енгізіңіз." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "Орналасуын _көшіріп алу" +diff -ruN nautilus-40.2/po/ko.po nautilus-40.2.translations/po/ko.po +--- nautilus-40.2/po/ko.po 2022-09-22 15:52:30.151654057 +0200 ++++ nautilus-40.2.translations/po/ko.po 2022-09-22 15:52:33.768667349 +0200 +@@ -5745,3 +5745,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "여기 암호를 입력하십시오." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "위치 복사(_C)" +diff -ruN nautilus-40.2/po/lt.po nautilus-40.2.translations/po/lt.po +--- nautilus-40.2/po/lt.po 2022-09-22 15:52:30.152654061 +0200 ++++ nautilus-40.2.translations/po/lt.po 2022-09-22 15:52:33.790667430 +0200 +@@ -7516,3 +7516,7 @@ + #| msgid "Enter password…" + msgid "Enter a password here." + msgstr "Įveskite slaptažodį čia." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_Kopijuoti vietą" +diff -ruN nautilus-40.2/po/lv.po nautilus-40.2.translations/po/lv.po +--- nautilus-40.2/po/lv.po 2022-09-22 15:52:30.152654061 +0200 ++++ nautilus-40.2.translations/po/lv.po 2022-09-22 15:52:33.799667463 +0200 +@@ -6095,3 +6095,8 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Ievadiet paroli šeit." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++#| msgid "Location" ++msgid "_Copy Location" ++msgstr "_Kopēt atrašanās vietu" +diff -ruN nautilus-40.2/po/nl.po nautilus-40.2.translations/po/nl.po +--- nautilus-40.2/po/nl.po 2022-09-22 15:52:30.153654065 +0200 ++++ nautilus-40.2.translations/po/nl.po 2022-09-22 15:52:33.854667665 +0200 +@@ -6851,3 +6851,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Voer hier een wachtwoord in." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "Locatie _kopiëren" diff -ruN nautilus-40.2/po/oc.po nautilus-40.2.translations/po/oc.po ---- nautilus-40.2/po/oc.po 2022-06-21 17:20:51.840378446 +0200 -+++ nautilus-40.2.translations/po/oc.po 2022-06-21 17:22:25.719339087 +0200 +--- nautilus-40.2/po/oc.po 2022-09-22 15:52:30.154654068 +0200 ++++ nautilus-40.2.translations/po/oc.po 2022-09-22 15:52:33.870667724 +0200 @@ -7540,3 +7540,7 @@ #: src/resources/ui/nautilus-compress-dialog.ui:225 msgid "Enter a password here." msgstr "Picatz un senhal aquí." + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:34 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "_Copiar l'emplaçament" +diff -ruN nautilus-40.2/po/pl.po nautilus-40.2.translations/po/pl.po +--- nautilus-40.2/po/pl.po 2022-09-22 15:52:30.154654068 +0200 ++++ nautilus-40.2.translations/po/pl.po 2022-09-22 15:52:33.886667783 +0200 +@@ -5790,3 +5790,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Hasło…" ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "S_kopiuj położenie" +diff -ruN nautilus-40.2/po/pt_BR.po nautilus-40.2.translations/po/pt_BR.po +--- nautilus-40.2/po/pt_BR.po 2022-09-22 15:52:30.155654072 +0200 ++++ nautilus-40.2.translations/po/pt_BR.po 2022-09-22 15:52:33.898667827 +0200 +@@ -7577,3 +7577,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Insira uma senha aqui." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_Copiar local" diff -ruN nautilus-40.2/po/pt.po nautilus-40.2.translations/po/pt.po ---- nautilus-40.2/po/pt.po 2022-06-21 17:20:51.841378446 +0200 -+++ nautilus-40.2.translations/po/pt.po 2022-06-21 17:22:25.803339052 +0200 +--- nautilus-40.2/po/pt.po 2022-09-22 15:52:30.155654072 +0200 ++++ nautilus-40.2.translations/po/pt.po 2022-09-22 15:52:33.906667857 +0200 @@ -6495,3 +6495,7 @@ #: src/resources/ui/nautilus-compress-dialog.ui:225 msgid "Enter a password here." msgstr "Introduza aqui uma palavra-passe." + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:34 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "_Copiar localização" diff -ruN nautilus-40.2/po/ru.po nautilus-40.2.translations/po/ru.po ---- nautilus-40.2/po/ru.po 2022-06-21 17:20:51.843378445 +0200 -+++ nautilus-40.2.translations/po/ru.po 2022-06-21 17:22:25.840339036 +0200 +--- nautilus-40.2/po/ru.po 2022-09-22 15:52:30.157654079 +0200 ++++ nautilus-40.2.translations/po/ru.po 2022-09-22 15:52:33.919667904 +0200 @@ -6587,3 +6587,7 @@ #: src/resources/ui/nautilus-compress-dialog.ui:225 msgid "Enter a password here." msgstr "Введите пароль здесь." + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:34 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "_Копировать адрес" +diff -ruN nautilus-40.2/po/sl.po nautilus-40.2.translations/po/sl.po +--- nautilus-40.2/po/sl.po 2022-09-22 15:52:30.158654083 +0200 ++++ nautilus-40.2.translations/po/sl.po 2022-09-22 15:52:33.938667974 +0200 +@@ -7757,3 +7757,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Vnos gesla" ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "Kopiraj _mesto" +diff -ruN nautilus-40.2/po/sr.po nautilus-40.2.translations/po/sr.po +--- nautilus-40.2/po/sr.po 2022-09-22 15:52:30.159654087 +0200 ++++ nautilus-40.2.translations/po/sr.po 2022-09-22 15:52:33.959668051 +0200 +@@ -7564,3 +7564,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Унесите лозинку овде." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_Копирај путању" +diff -ruN nautilus-40.2/po/sv.po nautilus-40.2.translations/po/sv.po +--- nautilus-40.2/po/sv.po 2022-09-22 15:52:30.159654087 +0200 ++++ nautilus-40.2.translations/po/sv.po 2022-09-22 15:52:33.968668084 +0200 +@@ -6722,3 +6722,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "Ange ett lösenord här." ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "_Kopiera plats" diff -ruN nautilus-40.2/po/tr.po nautilus-40.2.translations/po/tr.po ---- nautilus-40.2/po/tr.po 2022-06-21 17:20:51.845378444 +0200 -+++ nautilus-40.2.translations/po/tr.po 2022-06-21 17:22:25.992338972 +0200 +--- nautilus-40.2/po/tr.po 2022-09-22 15:52:30.160654090 +0200 ++++ nautilus-40.2.translations/po/tr.po 2022-09-22 15:52:33.996668187 +0200 @@ -6606,3 +6606,7 @@ #: src/resources/ui/nautilus-compress-dialog.ui:225 msgid "Enter a password here." msgstr "Buraya parola gir…" + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:24 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "Konumu _Kopyala" diff -ruN nautilus-40.2/po/uk.po nautilus-40.2.translations/po/uk.po ---- nautilus-40.2/po/uk.po 2022-06-21 17:20:51.846378444 +0200 -+++ nautilus-40.2.translations/po/uk.po 2022-06-21 17:22:26.013338964 +0200 +--- nautilus-40.2/po/uk.po 2022-09-22 15:52:30.160654090 +0200 ++++ nautilus-40.2.translations/po/uk.po 2022-09-22 15:52:34.009668235 +0200 @@ -6030,3 +6030,7 @@ #: src/resources/ui/nautilus-compress-dialog.ui:225 msgid "Enter a password here." msgstr "Тут слід ввести пароль." + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:34 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "_Копіювати адресу" diff -ruN nautilus-40.2/po/zh_CN.po nautilus-40.2.translations/po/zh_CN.po ---- nautilus-40.2/po/zh_CN.po 2022-06-21 17:20:51.847378443 +0200 -+++ nautilus-40.2.translations/po/zh_CN.po 2022-06-21 17:22:26.070338940 +0200 +--- nautilus-40.2/po/zh_CN.po 2022-09-22 15:52:30.161654094 +0200 ++++ nautilus-40.2.translations/po/zh_CN.po 2022-09-22 15:52:34.043668360 +0200 @@ -6197,3 +6197,7 @@ #: src/resources/ui/nautilus-compress-dialog.ui:225 msgid "Enter a password here." msgstr "在此处输入密码。" + -+#: src/resources/ui/nautilus-files-view-context-menus.ui:34 ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 +msgid "_Copy Location" +msgstr "复制位置(_C)" +diff -ruN nautilus-40.2/po/zh_TW.po nautilus-40.2.translations/po/zh_TW.po +--- nautilus-40.2/po/zh_TW.po 2022-09-22 15:52:30.162654098 +0200 ++++ nautilus-40.2.translations/po/zh_TW.po 2022-09-22 15:52:34.055668404 +0200 +@@ -7679,3 +7679,7 @@ + #: src/resources/ui/nautilus-compress-dialog.ui:225 + msgid "Enter a password here." + msgstr "請在此輸入密碼。" ++ ++#: src/resources/ui/nautilus-pathbar-context-menu.ui:53 ++msgid "_Copy Location" ++msgstr "複製位置(_C)" diff --git a/SOURCES/freedesktop-dbus-Try-to-own-the-name-until-after-exp.patch b/SOURCES/freedesktop-dbus-Try-to-own-the-name-until-after-exp.patch new file mode 100644 index 0000000..72fddc4 --- /dev/null +++ b/SOURCES/freedesktop-dbus-Try-to-own-the-name-until-after-exp.patch @@ -0,0 +1,96 @@ +From ba878013689114bf199ba2260f9282ae82b352c4 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Wed, 22 Feb 2023 16:22:43 +0100 +Subject: [PATCH] freedesktop-dbus: Try to own the name until after exporting + skeleton + +Currently, the `g_bus_own_name_on_connection` function is called for the +`org.freedesktop.FileManager1` name before exporting the +`/org/freedesktop/FileManager1` skeleton. This seemingly works fine in most +cases, but occasionally the name is acquired too early and D-Bus clients +can get `No such interface` error. This is regression caused by the commit +2293e813d3cd1cc47b2b8750f7140647aa066fc8. Let's try to own the nam until +after exporting the skeleton to avoid this error. +--- + src/nautilus-freedesktop-dbus.c | 31 +++++++++++++++---------------- + 1 file changed, 15 insertions(+), 16 deletions(-) + +diff --git a/src/nautilus-freedesktop-dbus.c b/src/nautilus-freedesktop-dbus.c +index c253cfaba..c20166abb 100644 +--- a/src/nautilus-freedesktop-dbus.c ++++ b/src/nautilus-freedesktop-dbus.c +@@ -162,20 +162,6 @@ name_lost_cb (GDBusConnection *connection, + DEBUG ("Lost (or failed to acquire) the name %s on the session message bus\n", name); + } + +-static void +-nautilus_freedesktop_dbus_constructed (GObject *object) +-{ +- NautilusFreedesktopDBus *fdb = NAUTILUS_FREEDESKTOP_DBUS (object); +- +- fdb->owner_id = g_bus_own_name_on_connection (fdb->connection, +- NAUTILUS_FDO_DBUS_NAME, +- G_BUS_NAME_OWNER_FLAGS_NONE, +- name_acquired_cb, +- name_lost_cb, +- fdb, +- NULL); +-} +- + static void + nautilus_freedesktop_dbus_dispose (GObject *object) + { +@@ -252,7 +238,6 @@ nautilus_freedesktop_dbus_class_init (NautilusFreedesktopDBusClass *klass) + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->dispose = nautilus_freedesktop_dbus_dispose; +- object_class->constructed = nautilus_freedesktop_dbus_constructed; + object_class->get_property = nautilus_freedesktop_dbus_get_property; + object_class->set_property = nautilus_freedesktop_dbus_set_property; + +@@ -301,7 +286,6 @@ nautilus_freedesktop_dbus_set_open_windows_with_locations (NautilusFreedesktopDB + locations); + } + +-/* Tries to own the org.freedesktop.FileManager1 service name */ + NautilusFreedesktopDBus * + nautilus_freedesktop_dbus_new (GDBusConnection *connection) + { +@@ -310,6 +294,7 @@ nautilus_freedesktop_dbus_new (GDBusConnection *connection) + NULL); + } + ++/* Tries to own the org.freedesktop.FileManager1 service name */ + gboolean + nautilus_freedesktop_dbus_register (NautilusFreedesktopDBus *fdb, + GError **error) +@@ -331,12 +316,26 @@ nautilus_freedesktop_dbus_register (NautilusFreedesktopDBus *fdb, + G_CALLBACK (skeleton_handle_show_item_properties_cb), fdb); + } + ++ fdb->owner_id = g_bus_own_name_on_connection (fdb->connection, ++ NAUTILUS_FDO_DBUS_NAME, ++ G_BUS_NAME_OWNER_FLAGS_NONE, ++ name_acquired_cb, ++ name_lost_cb, ++ fdb, ++ NULL); ++ + return success; + } + + void + nautilus_freedesktop_dbus_unregister (NautilusFreedesktopDBus *fdb) + { ++ if (fdb->owner_id != 0) ++ { ++ g_bus_unown_name (fdb->owner_id); ++ fdb->owner_id = 0; ++ } ++ + g_dbus_interface_skeleton_unexport (G_DBUS_INTERFACE_SKELETON (fdb->skeleton)); + + g_signal_handlers_disconnect_by_data (fdb->skeleton, fdb); +-- +2.39.1 + diff --git a/SPECS/nautilus.spec b/SPECS/nautilus.spec index 058c630..135c2e7 100644 --- a/SPECS/nautilus.spec +++ b/SPECS/nautilus.spec @@ -6,7 +6,7 @@ Name: nautilus Version: 40.2 -Release: 8%{?dist} +Release: 11%{?dist} Summary: File manager for GNOME License: GPLv3+ @@ -33,6 +33,12 @@ Patch9: compress-dialog-controller-Fit-popover-fit-on-X11.patch Patch10: files-view-Add-menu-item-to-copy-current-path.patch Patch11: files-view-Backport-translations.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=2162302 +Patch12: Revert-application-add-common-startup-code.patch +Patch13: Revert-freedesktop-dbus-Defer-D-Bus-property-setting.patch +Patch14: application-Export-FileManager1-iface-from-dbus_regi.patch +Patch15: freedesktop-dbus-Try-to-own-the-name-until-after-exp.patch + BuildRequires: desktop-file-utils BuildRequires: gcc BuildRequires: gettext @@ -163,6 +169,15 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop %doc %{_datadir}/gtk-doc/html/libnautilus-extension/ %changelog +* Thu Feb 23 2023 Ondrej Holy - 40.2-11 +- Try to own the name until after exporting skeleton (#2162302) + +* Wed Feb 01 2023 Ondrej Holy - 40.2-10 +- Export FileManager1 iface from dbus_register vfunc (#2162302) + +* Thu Sep 22 2022 Ondrej Holy - 40.2-9 +- Backport "_Copy Location" translations (#2099982) + * Mon Jun 20 2022 Ondrej Holy - 40.2-8 - Add toolbar action to copy current location (#2098578)