[caja] 01/01: debian/patches: Add 0003_eliminate_a11y_event_flood.patch. Eliminate accessible children-changed event flood during update all.
Martin Wimpress
flexiondotorg-guest at moszumanska.debian.org
Wed Apr 25 12:21:02 BST 2018
This is an automated email from the git hooks/post-receive script.
flexiondotorg-guest pushed a commit to branch master
in repository caja.
commit 4acf75f87a935ab9d3e266eca5b5953c6fed861e
Author: Martin Wimpress <martin.wimpress at ubuntu.com>
Date: Wed Apr 25 11:31:00 2018 +0100
debian/patches: Add 0003_eliminate_a11y_event_flood.patch. Eliminate accessible children-changed event flood during update all.
---
.../patches/0003_eliminate_a11y_event_flood.patch | 42 ++++++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 43 insertions(+)
diff --git a/debian/patches/0003_eliminate_a11y_event_flood.patch b/debian/patches/0003_eliminate_a11y_event_flood.patch
new file mode 100644
index 0000000..3cc7b52
--- /dev/null
+++ b/debian/patches/0003_eliminate_a11y_event_flood.patch
@@ -0,0 +1,42 @@
+Author: Joanmarie Diggs <jdiggs at igalia.com>
+Description: Eliminate accessible children-changed event flood during update all
+ Accessible children-changed events should only be emitted when a user-
+ triggered action (creation of file, copying an item) causes an item to
+ be added.
+ .
+ Set container->details->is_loading (which does not seem to be used
+ anywhere) in caja_icon_container_request_update_all because if the
+ entire container is being updated, children-changed events should not
+ be emitted for each updated icon.
+
+diff --git a/libcaja-private/caja-icon-container.c b/libcaja-private/caja-icon-container.c
+index 3a434d32..e1db560d 100644
+--- a/libcaja-private/caja-icon-container.c
++++ b/libcaja-private/caja-icon-container.c
+@@ -8025,6 +8025,7 @@ caja_icon_container_request_update_all (CajaIconContainer *container)
+
+ g_return_if_fail (CAJA_IS_ICON_CONTAINER (container));
+
++ container->details->is_loading = TRUE;
+ for (node = container->details->icons; node != NULL; node = node->next)
+ {
+ icon = node->data;
+@@ -8032,6 +8033,7 @@ caja_icon_container_request_update_all (CajaIconContainer *container)
+ }
+
+ redo_layout (container);
++ container->details->is_loading = FALSE;
+ }
+
+ /**
+@@ -9580,6 +9582,10 @@ caja_icon_container_accessible_icon_added_cb (CajaIconContainer *container,
+ AtkObject *atk_child;
+ int index;
+
++ // We don't want to emit children_changed signals during the initial load.
++ if (container->details->is_loading)
++ return;
++
+ icon = g_hash_table_lookup (container->details->icon_set, icon_data);
+ if (icon)
+ {
diff --git a/debian/patches/series b/debian/patches/series
index b99ee97..8e14617 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@
0001_fix_random_segfaults.patch
1002_use-gio-open-instead-of-gvfs-open.patch
0002_emit_a11y-name-change_only_when_icons_renamed.patch
+0003_eliminate_a11y_event_flood.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mate/caja.git
More information about the pkg-mate-commits
mailing list