From 5e236e94cc6274dc18d88d1b86cb83c7646287fe Mon Sep 17 00:00:00 2001 From: Joanmarie Diggs Date: Tue, 24 Apr 2018 11:07:29 -0400 Subject: 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. --- libcaja-private/caja-icon-container.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libcaja-private/caja-icon-container.c') 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) { -- cgit v1.2.1