Compare commits

...

No commits in common. 'c9' and 'i9' have entirely different histories.
c9 ... i9

@ -0,0 +1,529 @@
From 0602a73205b1445d2b9fefa2b9038e458c97413e Mon Sep 17 00:00:00 2001
From: Sergey Cherevko <s.cherevko@msvsphere-os.ru>
Date: Mon, 9 Sep 2024 14:17:45 +0300
Subject: [PATCH] Update Russian translation
---
po/ru.po | 402 +++++++++++++++++++++++++++++++++----------------------
1 file changed, 245 insertions(+), 157 deletions(-)
diff --git a/po/ru.po b/po/ru.po
index 8f0d57a..5e4cc31 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -800,11 +800,6 @@ msgstr "Аудио"
msgid "Video"
msgstr "Видео"
-#: extensions/audio-video-properties/resources/ui/properties.ui:23
-#: src/resources/ui/nautilus-preferences-window.ui:54
-msgid "General"
-msgstr "Основное"
-
#: extensions/audio-video-properties/resources/ui/properties.ui:47
msgid "Title:"
msgstr "Название:"
@@ -1352,6 +1347,11 @@ msgstr "Новизна"
msgid "The date the file was accessed by the user."
msgstr "Дата последнего обращения пользователя к файлу."
+#: src/nautilus-column-utilities.c:105
+#: src/resources/ui/nautilus-properties-window.ui:288
+msgid "Created"
+msgstr "Создано"
+
#: src/nautilus-column-utilities.c:156
msgid "Star"
msgstr "Избранное"
@@ -1920,11 +1920,6 @@ msgstr "Совместить _всё"
msgid "Copy _Anyway"
msgstr "Копировать _всё равно"
-#: src/nautilus-file-operations.c:239 src/nautilus-file-operations.c:2976
-#: src/nautilus-window.c:1331
-msgid "Empty _Trash"
-msgstr "О_чистить корзину"
-
#: src/nautilus-file-operations.c:339
#, c-format
msgid "%'d second"
@@ -3022,6 +3017,10 @@ msgstr "Открыть"
msgid "_Start"
msgstr "_Запустить"
+#: src/resources/ui/nautilus-files-view-context-menus.ui:87
+msgid "_Run as a Program"
+msgstr "З_апустить как программу"
+
#: src/nautilus-files-view.c:8015 src/gtk/nautilusgtkplacesview.c:1736
msgid "_Connect"
msgstr "_Подключиться"
@@ -3154,6 +3153,11 @@ msgstr "_Отменить перемещение"
msgid "_Redo Move"
msgstr "_Повторить перемещение"
+#: src/resources/ui/nautilus-files-view-context-menus.ui:168
+#: src/resources/ui/nautilus-files-view-context-menus.ui:173
+msgid "_Delete Permanently…"
+msgstr "Уалить безвозвратно…"
+
#: src/nautilus-file-undo-operations.c:477
msgid "_Undo Restore from Trash"
msgstr "_Отменить восстановление из корзины"
@@ -4037,6 +4041,31 @@ msgstr "Нет"
msgid "%d MB"
msgstr "%d МБ"
+#: src/nautilus-preferences-window.c:336
+msgid "Single click"
+msgstr "Одинарный щелчок"
+
+#: src/nautilus-preferences-window.c:336
+msgid "Double click"
+msgstr "Двойной щелчок"
+
+#: src/nautilus-preferences-window.c:338 src/nautilus-preferences-window.c:340
+#: src/nautilus-preferences-window.c:342
+msgid "On this computer only"
+msgstr "Только на этом компьютере"
+
+#: src/nautilus-preferences-window.c:340
+msgid "All files"
+msgstr "Все файлы"
+
+#: src/nautilus-preferences-window.c:342
+msgid "All folders"
+msgstr "Все папки"
+
+#: src/nautilus-preferences-window.c:338
+msgid "All locations"
+msgstr "Все расположения"
+
#: src/nautilus-program-choosing.c:379
msgid "Sorry, but you cannot execute commands from a remote site."
msgstr "Нельзя выполнять команды с удалённого узла."
@@ -4390,6 +4419,11 @@ msgstr "_Повторить"
msgid "_Restore"
msgstr "_Восстановить"
+#. Translators: "Empty" is an action (for the trash) , not a state
+#: src/nautilus-trash-bar.c:216
+msgid "_Empty…"
+msgstr "_Очистить…"
+
#: src/nautilus-trash-bar.c:212
msgid "Restore selected items to their original position"
msgstr "Восстановить выделенные объекты к исходным местоположениям"
@@ -4499,6 +4533,14 @@ msgstr "Назад"
msgid "Forward"
msgstr "Вперёд"
+#: src/nautilus-file-operations.c:266 src/nautilus-file-operations.c:3012
+msgid "Empty _Trash"
+msgstr "О_чистить корзину"
+
+#: src/nautilus-window.c:1331
+msgid "Empty _Trash…"
+msgstr "О_чистить корзину…"
+
#: src/nautilus-window.c:1350
#: src/resources/ui/nautilus-pathbar-context-menu.ui:14
msgid "_Properties"
@@ -5059,9 +5101,7 @@ msgstr "Меньший размер архива, но только для Linux
#: src/resources/ui/nautilus-compress-dialog.ui:144
msgid "Smaller archives but must be installed on Windows and Mac."
-msgstr ""
-"Меньший размер архива, но требует на Windows и Mac установки приложения для "
-"открытия."
+msgstr "Меньший размер архива, требует приложения в Windows и Mac."
#: src/resources/ui/nautilus-file-properties-change-permissions.ui:5
msgid "Change Permissions for Enclosed Files"
@@ -5178,6 +5218,7 @@ msgstr "Удалить из _корзины"
#: src/resources/ui/nautilus-files-view-context-menus.ui:161
#: src/resources/ui/nautilus-files-view-context-menus.ui:166
+#: src/resources/ui/nautilus-preferences-window.ui:89
msgid "_Delete Permanently"
msgstr "_Удалить безвозвратно"
@@ -5248,57 +5289,216 @@ msgstr "Открыть в _новом окне"
msgid "Open in New _Tab"
msgstr "Открыть в новой _вкладке"
-#: src/resources/ui/nautilus-preferences-window.ui:13
-msgid "Preferences"
-msgstr "Параметры"
+#: src/resources/ui/nautilus-preferences-window.ui:19
+msgid "Sort _Folders Before Files"
+msgstr "Помещать папки перед файлами"
-#: src/resources/ui/nautilus-preferences-window.ui:71
-msgid "_Show sidebar"
-msgstr "_Показать/Скрыть боковую панель"
+#: src/resources/ui/nautilus-preferences-window.ui:37
+msgid "_Expandable Folders in List View"
+msgstr "Р_асширяемые папки в виде списка"
-#. Translators: a title in the preferences dialog with an option to sort folder before files "Sort folders before files".
-#: src/resources/ui/nautilus-preferences-window.ui:105
-msgctxt "preferences"
-msgid "Sort"
-msgstr "Сортировка"
+#: src/resources/ui/nautilus-preferences-window.ui:54
+msgid "Action to Open Items"
+msgstr "Действие для открытия элементов"
-#: src/resources/ui/nautilus-preferences-window.ui:122
-msgid "Sort _folders before files"
-msgstr "Помещать папки перед _файлами"
+#: src/resources/ui/nautilus-preferences-window.ui:64
+msgid "Optional Context Menu Actions"
+msgstr "Дополнительные действия в контекстном меню"
-#: src/resources/ui/nautilus-preferences-window.ui:178
-msgid "Allow folders to be _expanded"
-msgstr "Расш_иряемые папки (дерево каталогов)"
+#: src/resources/ui/nautilus-preferences-window.ui:65
+msgid ""
+"Show more actions in the menus. Keyboard shortcuts can be used even if the "
+"actions are not shown."
+msgstr ""
+"Показать больше действий в меню. Сочетания клавиш можно использовать, "
+"даже если действия не показаны."
-#: src/resources/ui/nautilus-preferences-window.ui:217
-msgid "Icon View Captions"
-msgstr "Подписи к значкам"
+#: src/resources/ui/nautilus-preferences-window.ui:107
+msgid "Performance"
+msgstr "Производительность"
+
+#: src/resources/ui/nautilus-preferences-window.ui:108
+msgid ""
+"These features may cause slowdowns and excess network usage, especially when "
+"browsing files outside this computer, such as on a remote server."
+msgstr ""
+"Эти функции могут вызвать замедление работы и чрезмерное использование сети, "
+"особенно при просмотре файлов за пределами этого компьютера, "
+"например, на удаленном сервере."
+
+#: src/resources/ui/nautilus-preferences-window.ui:113
+msgid "Search in Subfolders"
+msgstr "Поиск в подпапках"
+
+#: src/resources/ui/nautilus-preferences-window.ui:122
+msgid "Show Thumbnails"
+msgstr "Показывать миниатюры"
-#: src/resources/ui/nautilus-preferences-window.ui:236
+#: src/resources/ui/nautilus-preferences-window.ui:131
+msgid "Count Number of Files in Folders"
+msgstr "Подсчитать количество файлов в папках"
+
+#: src/resources/ui/nautilus-preferences-window.ui:141
msgid ""
"Add information to be displayed beneath file and folder names. More "
"information will appear when zooming closer."
msgstr ""
-"Добавить информацию, которая будет отображаться под именами файлов и папок. "
+"Добавьте информацию, которая будет отображаться под именами файлов и папок. "
"Более подробная информация будет появляться при увеличении масштаба."
+#: src/resources/ui/nautilus-preferences-window.ui:142
+msgid "Icon View Captions"
+msgstr "Подписи при виде сеткой"
+
#. Translators: This is an ordinal number
-#: src/resources/ui/nautilus-preferences-window.ui:371
+#: src/resources/ui/nautilus-preferences-window.ui:147
msgctxt "the n-th position of an icon caption"
-msgid "Second"
-msgstr "Второй"
+msgid "First"
+msgstr "Первая"
#. Translators: This is an ordinal number
-#: src/resources/ui/nautilus-preferences-window.ui:389
+#: src/resources/ui/nautilus-preferences-window.ui:156
msgctxt "the n-th position of an icon caption"
-msgid "Third"
-msgstr "Третий"
+msgid "Second"
+msgstr "Вторая"
#. Translators: This is an ordinal number
-#: src/resources/ui/nautilus-preferences-window.ui:407
+#: src/resources/ui/nautilus-preferences-window.ui:165
msgctxt "the n-th position of an icon caption"
-msgid "First"
-msgstr "Первый"
+msgid "Third"
+msgstr "Третья"
+
+#: src/resources/ui/nautilus-properties-window.ui:169
+msgid "Link target"
+msgstr "Ссылка на"
+
+#: src/resources/ui/nautilus-properties-window.ui:198
+msgid "Contents"
+msgstr "Содержание"
+
+#: src/resources/ui/nautilus-properties-window.ui:342
+msgid "Volume"
+msgstr "Том"
+
+#: src/resources/ui/nautilus-properties-window.ui:370
+msgid "Trashed on"
+msgstr "Удалено в корзину"
+
+#: src/resources/ui/nautilus-properties-window.ui:450
+msgid "Free space"
+msgstr "Свободное место"
+
+#: src/resources/ui/nautilus-properties-window.ui:554
+msgid "Total capacity"
+msgstr "Общая ёмкость"
+
+#: src/resources/ui/nautilus-properties-window.ui:571
+msgid "Filesystem type"
+msgstr "Тип файловой системы"
+
+#. Refers to the capacity of the filesystem
+#: src/resources/ui/nautilus-properties-window.ui:640
+msgid "used"
+msgstr "занято"
+
+#. Refers to the capacity of the filesystem
+#: src/resources/ui/nautilus-properties-window.ui:653
+msgid "free"
+msgstr "свободно"
+
+#: src/resources/ui/nautilus-properties-window.ui:688
+msgid "Open in Disks"
+msgstr "Открыть в приложении Диски"
+
+#: src/resources/ui/nautilus-properties-window.ui:764
+msgid "Basic"
+msgstr "Основной"
+
+#: src/resources/ui/nautilus-properties-window.ui:778
+msgid "You are not the owner, so you cannot change these permissions."
+msgstr "Вы не являетесь владельцем, поэтому вы не можете изменить эти разрешения."
+
+#: src/resources/ui/nautilus-properties-window.ui:805
+msgid "The permissions of the selected file could not be determined."
+msgstr "Не удалось определить права доступа к выбранному файлу."
+
+#: src/resources/ui/nautilus-properties-window.ui:827
+msgid "_Owner"
+msgstr "Ваделец"
+
+#: src/resources/ui/nautilus-properties-window.ui:877
+#: src/resources/ui/nautilus-properties-window.ui:1000
+#: src/resources/ui/nautilus-properties-window.ui:1085
+msgid "Access"
+msgstr "Доступ"
+
+#: src/resources/ui/nautilus-properties-window.ui:891
+#: src/resources/ui/nautilus-properties-window.ui:1014
+#: src/resources/ui/nautilus-properties-window.ui:1099
+msgid "Folder access"
+msgstr "Доступ к папке"
+
+#: src/resources/ui/nautilus-properties-window.ui:905
+#: src/resources/ui/nautilus-properties-window.ui:1028
+#: src/resources/ui/nautilus-properties-window.ui:1113
+msgid "File access"
+msgstr "Доступ к файлу"
+
+#: src/resources/ui/nautilus-properties-window.ui:948
+msgid "_Group"
+msgstr "_Группа"
+
+#: src/resources/ui/nautilus-properties-window.ui:1155
+msgid "Execute"
+msgstr "Выполнить"
+
+#: src/resources/ui/nautilus-properties-window.ui:1170
+msgid "Security context"
+msgstr "Контекст безопасности"
+
+#: src/resources/ui/nautilus-properties-window.ui:1200
+msgid "Change Permissions for Enclosed Files…"
+msgstr "Изменить разрешения для закрытых файлов…"
+
+#: src/resources/ui/nautilus-properties-window.ui:1219
+msgid "Allow _executing file as program"
+msgstr "Разрешить _исполнение файла как программы"
+
+#: src/resources/ui/nautilus-properties-window.ui:1346
+msgid "_Add"
+msgstr "_Добавить"
+
+#: src/resources/ui/nautilus-properties-window.ui:1360
+msgid "Set as default"
+msgstr "Установить по умолчанию"
+
+#: src/resources/ui/nautilus-properties-window.ui:1388
+msgid "Open With"
+msgstr "Открыть с помощью"
+
+#: extensions/audio-video-properties/resources/ui/properties.ui:23
+#: src/resources/ui/nautilus-preferences-window.ui:9
+#: src/resources/ui/nautilus-preferences-window.ui:13
+msgid "General"
+msgstr "Основное"
+
+#: src/resources/ui/nautilus-preferences-window.ui:71
+msgid "_Show sidebar"
+msgstr "_Показать/Скрыть боковую панель"
+
+#. Translators: a title in the preferences dialog with an option to sort folder before files "Sort folders before files".
+#: src/resources/ui/nautilus-preferences-window.ui:105
+msgctxt "preferences"
+msgid "Sort"
+msgstr "Сортировка"
+
+#: src/resources/ui/nautilus-preferences-window.ui:122
+msgid "Sort _folders before files"
+msgstr "Помещать папки перед _файлами"
+
+#: src/resources/ui/nautilus-preferences-window.ui:178
+msgid "Allow folders to be _expanded"
+msgstr "Расш_иряемые папки (дерево каталогов)"
#: src/resources/ui/nautilus-preferences-window.ui:452
msgid "Views"
@@ -5483,116 +5683,6 @@ msgstr "По дате обращения"
msgid "By Trashed Date"
msgstr "По дате удаления"
-#: src/resources/ui/nautilus-properties-window.ui:160
-msgid "Link target"
-msgstr "Ссылка на"
-
-#: src/resources/ui/nautilus-properties-window.ui:189
-msgid "Contents"
-msgstr "Содержание"
-
-#: src/resources/ui/nautilus-properties-window.ui:307
-msgid "Volume"
-msgstr "Том"
-
-#: src/resources/ui/nautilus-properties-window.ui:335
-msgid "Trashed on"
-msgstr "Перемещено в корзину"
-
-#: src/resources/ui/nautilus-properties-window.ui:415
-msgid "Free space"
-msgstr "Свободное место"
-
-#: src/resources/ui/nautilus-properties-window.ui:519
-msgid "Total capacity"
-msgstr "Общий объём"
-
-#: src/resources/ui/nautilus-properties-window.ui:536
-msgid "Filesystem type"
-msgstr "Тип файловой системы"
-
-#. Refers to the capacity of the filesystem
-#: src/resources/ui/nautilus-properties-window.ui:605
-msgid "used"
-msgstr "использовано"
-
-#. Refers to the capacity of the filesystem
-#: src/resources/ui/nautilus-properties-window.ui:618
-msgid "free"
-msgstr "свободно"
-
-# "Открыть с помощью программы "%s" -- это слишком длинно и не помешается
-# на боковую панель даже без распаковки `%s'.
-#: src/resources/ui/nautilus-properties-window.ui:653
-msgid "Open in Disks"
-msgstr "Открыть в приложении Диски"
-
-#: src/resources/ui/nautilus-properties-window.ui:729
-msgid "Basic"
-msgstr "Основные"
-
-#: src/resources/ui/nautilus-properties-window.ui:743
-msgid "You are not the owner, so you cannot change these permissions."
-msgstr "Нельзя изменить эти права, поскольку вы не являетесь владельцем."
-
-#: src/resources/ui/nautilus-properties-window.ui:770
-msgid "The permissions of the selected file could not be determined."
-msgstr "Не удалось определить права доступа к выделенному файлу."
-
-#: src/resources/ui/nautilus-properties-window.ui:792
-msgid "_Owner"
-msgstr "_Владелец"
-
-#: src/resources/ui/nautilus-properties-window.ui:842
-#: src/resources/ui/nautilus-properties-window.ui:965
-#: src/resources/ui/nautilus-properties-window.ui:1050
-msgid "Access"
-msgstr "Доступ"
-
-#: src/resources/ui/nautilus-properties-window.ui:856
-#: src/resources/ui/nautilus-properties-window.ui:979
-#: src/resources/ui/nautilus-properties-window.ui:1064
-msgid "Folder access"
-msgstr "Доступ к папке"
-
-#: src/resources/ui/nautilus-properties-window.ui:870
-#: src/resources/ui/nautilus-properties-window.ui:993
-#: src/resources/ui/nautilus-properties-window.ui:1078
-msgid "File access"
-msgstr "Доступ к файлу"
-
-#: src/resources/ui/nautilus-properties-window.ui:913
-msgid "_Group"
-msgstr "_Группа"
-
-#: src/resources/ui/nautilus-properties-window.ui:1120
-msgid "Execute"
-msgstr "Выполнить"
-
-#: src/resources/ui/nautilus-properties-window.ui:1135
-msgid "Security context"
-msgstr "Контекст безопасности"
-
-#: src/resources/ui/nautilus-properties-window.ui:1165
-msgid "Change Permissions for Enclosed Files…"
-msgstr "Изменить права на вложенные файлы…"
-
-#: src/resources/ui/nautilus-properties-window.ui:1184
-msgid "Allow _executing file as program"
-msgstr "_Разрешить выполнение файла как программы"
-
-#: src/resources/ui/nautilus-properties-window.ui:1310
-msgid "_Add"
-msgstr "_Добавить"
-
-#: src/resources/ui/nautilus-properties-window.ui:1324
-msgid "Set as default"
-msgstr "Установить по умолчанию"
-
-#: src/resources/ui/nautilus-properties-window.ui:1352
-msgid "Open With"
-msgstr "Открыть с помощью"
-
#: src/resources/ui/nautilus-search-popover.ui:18
msgid "When"
msgstr "Когда"
@@ -6576,9 +6666,7 @@ msgstr "Ввести адрес сервера…"
#: src/resources/ui/nautilus-compress-dialog.ui:36
msgid "Password protected .zip, must be installed on Windows and Mac."
-msgstr ""
-"Защищённый паролем архив, требует установки приложения для открытия в "
-"Windows и Mac."
+msgstr "Защищённый паролем архив, требует приложения в Windows и Mac."
#: src/resources/ui/nautilus-compress-dialog.ui:213
msgid "Password"
--
2.43.5

@ -0,0 +1,50 @@
From 51594105bc59f6197e2b176b6c132a3ac8a156c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= <antoniof@gnome.org>
Date: Fri, 16 Jul 2021 22:47:40 +0100
Subject: [PATCH] window-slot-dnd: Fix data retrieval failure path
When data retrieval fails, ::drag-data-received is emitted with a
selection of negative length.
We have been treating this case as invalid data, but we never actually
call gdk_drag_finish() which is mandatory after a drop.
Instead, reset drag_info->have_data to FALSE in this case, and let
slot_proxy_handle_drop() handle the rest.
---
src/nautilus-window-slot-dnd.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/nautilus-window-slot-dnd.c b/src/nautilus-window-slot-dnd.c
index 9509d2c97..ec0134e46 100644
--- a/src/nautilus-window-slot-dnd.c
+++ b/src/nautilus-window-slot-dnd.c
@@ -472,17 +472,21 @@ slot_proxy_drag_data_received (GtkWidget *widget,
drag_info = user_data;
g_assert (!drag_info->have_data);
-
- drag_info->have_data = TRUE;
- drag_info->info = info;
drag_info->waiting_for_data = FALSE;
if (gtk_selection_data_get_length (data) < 0)
{
- drag_info->have_valid_data = FALSE;
+ /* Data retrieval failed. */
+ if (drag_info->drop_occurred)
+ {
+ gtk_drag_finish (context, FALSE, FALSE, time);
+ }
return;
}
+ drag_info->have_data = TRUE;
+ drag_info->info = info;
+
if (info == NAUTILUS_ICON_DND_GNOME_ICON_LIST)
{
drag_info->data.selection_list = nautilus_drag_build_selection_list (data);
--
2.41.0

@ -0,0 +1,65 @@
From 9f36eaa6f4e7757b7cdf41a54cfc9f03eaa0ce89 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= <antoniof@gnome.org>
Date: Fri, 16 Jul 2021 23:25:22 +0100
Subject: [PATCH] window-slot-dnd: Ignore data not received on hover
Sometimes, after having called gtk_drag_get_data() on ::drag-motion, we
only get the data after ::drag-leave.
This is fine if the ::drag-leave is followed by ::drag-drop. Otherwise,
as ::drag-leave is responsible for cleanup, data arriving afterwards is
leaking into the next time content is dragged hover the widget, even if
the dragged content is no longer the same.
Instead, keep track of the hover status and don't save data that's no
longer relevant.
---
src/nautilus-window-slot-dnd.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/nautilus-window-slot-dnd.c b/src/nautilus-window-slot-dnd.c
index ec0134e46..772a8bb88 100644
--- a/src/nautilus-window-slot-dnd.c
+++ b/src/nautilus-window-slot-dnd.c
@@ -36,6 +36,7 @@ typedef struct
gboolean have_data;
gboolean have_valid_data;
+ gboolean is_hover;
gboolean drop_occurred;
unsigned int info;
@@ -170,6 +171,8 @@ slot_proxy_drag_motion (GtkWidget *widget,
drag_info = user_data;
+ drag_info->is_hover = TRUE;
+
action = 0;
valid_text_drag = FALSE;
valid_xds_drag = FALSE;
@@ -335,6 +338,7 @@ slot_proxy_drag_leave (GtkWidget *widget,
drag_info = user_data;
+ drag_info->is_hover = FALSE;
gtk_drag_unhighlight (widget);
drag_info_clear (drag_info);
}
@@ -474,6 +478,13 @@ slot_proxy_drag_data_received (GtkWidget *widget,
g_assert (!drag_info->have_data);
drag_info->waiting_for_data = FALSE;
+ if (!drag_info->is_hover && !drag_info->drop_occurred)
+ {
+ /* Ignore data arriving after ::drag-leave, except if followed by
+ * ::drag-drop. */
+ return;
+ }
+
if (gtk_selection_data_get_length (data) < 0)
{
/* Data retrieval failed. */
--
2.41.0

@ -0,0 +1,76 @@
From 095d88295e6a7a5fefdcb58e1483ae3926b8cb1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= <antoniof@gnome.org>
Date: Fri, 16 Jul 2021 22:32:41 +0100
Subject: [PATCH] window-slot-dnd: Stop queueing data requests
Each time ::drag-motion is emitted, we call gtk_drag_get_data() if we
don't have data yet.
If the drag source doesn't provide the data right away, we can end up
calling gtk_drag_get_data() multiple times. Later, when the data is
retrieved, we get multiple ::drag-data-received emissions.
Not only is this wasteful, it also breaks an assertion, causing crashes.
Instead, make sure gtk_drag_get_data() is called only once.
Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/1535
---
src/nautilus-window-slot-dnd.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/nautilus-window-slot-dnd.c b/src/nautilus-window-slot-dnd.c
index 96c5d9cc8..9509d2c97 100644
--- a/src/nautilus-window-slot-dnd.c
+++ b/src/nautilus-window-slot-dnd.c
@@ -32,6 +32,7 @@
typedef struct
{
+ gboolean waiting_for_data;
gboolean have_data;
gboolean have_valid_data;
@@ -181,7 +182,7 @@ slot_proxy_drag_motion (GtkWidget *widget,
window = gtk_widget_get_toplevel (widget);
g_assert (NAUTILUS_IS_WINDOW (window));
- if (!drag_info->have_data)
+ if (!drag_info->have_data && !drag_info->waiting_for_data)
{
target = gtk_drag_dest_find_target (widget, context, NULL);
@@ -190,6 +191,7 @@ slot_proxy_drag_motion (GtkWidget *widget,
goto out;
}
+ drag_info->waiting_for_data = TRUE;
gtk_drag_get_data (widget, context, target, time);
}
@@ -353,8 +355,12 @@ slot_proxy_drag_drop (GtkWidget *widget,
drag_info->drop_occurred = TRUE;
- target = gtk_drag_dest_find_target (widget, context, NULL);
- gtk_drag_get_data (widget, context, target, time);
+ if (!drag_info->waiting_for_data)
+ {
+ target = gtk_drag_dest_find_target (widget, context, NULL);
+ drag_info->waiting_for_data = TRUE;
+ gtk_drag_get_data (widget, context, target, time);
+ }
return TRUE;
}
@@ -469,6 +475,7 @@ slot_proxy_drag_data_received (GtkWidget *widget,
drag_info->have_data = TRUE;
drag_info->info = info;
+ drag_info->waiting_for_data = FALSE;
if (gtk_selection_data_get_length (data) < 0)
{
--
2.41.0

@ -6,7 +6,7 @@
Name: nautilus
Version: 40.2
Release: 14%{?dist}
Release: 15%{?dist}.inferit.3
Summary: File manager for GNOME
License: GPLv3+
@ -49,6 +49,13 @@ Patch20: window-slot-Fix-conditions-to-restore-selection-when.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2120263
Patch21: file-Generate-thumbnails-when-the-preview-icon-is-av.patch
# https://issues.redhat.com/browse/RHEL-12820
Patch: window-slot-dnd-Stop-queueing-data-requests.patch
Patch: window-slot-dnd-Fix-data-retrieval-failure-path.patch
Patch: window-slot-dnd-Ignore-data-not-received-on-hover.patch
# MSVSphere
Patch1000: 0001-Update-Russian-translation.patch
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: gettext
@ -179,15 +186,39 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
%doc %{_datadir}/gtk-doc/html/libnautilus-extension/
%changelog
* Mon Sep 09 2024 Sergey Cherevko <s.cherevko@msvsphere-os.ru> - 40.2-15.inferit.3
- Fix Russian translation
- Bump version
* Thu Jun 27 2024 Sergey Cherevko <s.cherevko@msvsphere-os.ru> - 40.2-15.inferit.2
- Fix Russian translation
- Bump version
* Thu Jun 27 2024 Sergey Cherevko <s.cherevko@msvsphere-os.ru> - 40.2-15.inferit.1
- Update Russian translation
* Tue Apr 2 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 40.2-15.inferit
- Update Russian translation
* Wed Oct 18 2023 Ondrej Holy <oholy@redhat.com> - 40.2-15
- Fix crashes when dragging from another application (RHEL-12820)
* Wed Jun 14 2023 Ondrej Holy <oholy@redhat.com> - 40.2-14
- Force reload current location when it reappears (#2184292)
* Mon May 22 2023 Sergey Cherevko <s.cherevko@msvsphere.ru> - 40.2-11.inferit
- Update Russian translation
- Rebuilt for MSVSphere 9.2
* Thu Apr 06 2023 Ondrej Holy <oholy@redhat.com> - 40.2-13
- Generate thumbnails when the preview icon is available (#2120263)
* Wed Apr 05 2023 Ondrej Holy <oholy@redhat.com> - 40.2-12
- Try current location even if it is marked as gone (#2184292)
* Wed Mar 15 2023 MSVSphere Packaging Team <packager@msvsphere.ru> - 40.2-11
- Rebuilt for MSVSphere 9.1.
* Thu Feb 23 2023 Ondrej Holy <oholy@redhat.com> - 40.2-11
- Try to own the name until after exporting skeleton (#2162302)

Loading…
Cancel
Save