[at-spi2-atk] Do not ignore count for getMatchesTo



commit 8fae3d307acf14b937cda77b79e62b38990dc8b2
Author: Mike Gorse <mgorse novell com>
Date:   Mon Apr 12 15:27:59 2010 -0400

        Do not ignore count for getMatchesTo
    
        BGO #538680

 atk-adaptor/adaptors/collection-adaptor.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/atk-adaptor/adaptors/collection-adaptor.c b/atk-adaptor/adaptors/collection-adaptor.c
index 0edf896..4162acf 100644
--- a/atk-adaptor/adaptors/collection-adaptor.c
+++ b/atk-adaptor/adaptors/collection-adaptor.c
@@ -538,7 +538,8 @@ sort_order_rev_canonical (MatchRulePrivate * mrp, GList * ls,
   /* Add to the list if it matches */
   if (flag && match_interfaces_lookup (obj, mrp)
       && match_states_lookup (obj, mrp)
-      && match_roles_lookup (obj, mrp) && match_attributes_lookup (obj, mrp))
+      && match_roles_lookup (obj, mrp) && match_attributes_lookup (obj, mrp)
+      && (max == 0 || kount < max))
     {
       ls = g_list_append (ls, obj);
       kount++;
@@ -551,7 +552,7 @@ sort_order_rev_canonical (MatchRulePrivate * mrp, GList * ls,
   indexinparent = atk_object_get_index_in_parent (obj);
   parent = atk_object_get_parent (obj);
 
-  if (indexinparent > 0)
+  if (indexinparent > 0 && (max == 0 || kount < max))
     {
       /* there are still some siblings to visit so get the previous sibling
          and get it's last descendant.
@@ -571,7 +572,7 @@ sort_order_rev_canonical (MatchRulePrivate * mrp, GList * ls,
       kount = sort_order_rev_canonical (mrp, ls, kount, max,
                                         nextobj, TRUE, pobj);
     }
-  else
+  else if (max == 0 || kount < max)
     {
       /* no more siblings so next node must be the parent */
       kount = sort_order_rev_canonical (mrp, ls, kount, max,
@@ -844,7 +845,7 @@ inorder (AtkObject * collection, MatchRulePrivate * mrp,
       obj = parent;
     }
 
-  if (kount < max)
+  if (max == 0 || kount < max)
     {
       kount = sort_order_canonical (mrp, ls, kount, max,
                                     obj, i + 1, TRUE, FALSE, TRUE, TRUE);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]