projects
/
platform
/
core
/
uifw
/
at-spi2-atk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Have value methods return 0 on failure rather than fail, as in original pyatspi
[platform/core/uifw/at-spi2-atk.git]
/
atk-adaptor
/
adaptors
/
collection-adaptor.c
diff --git
a/atk-adaptor/adaptors/collection-adaptor.c
b/atk-adaptor/adaptors/collection-adaptor.c
index
1702ee7
..
3bf76a3
100644
(file)
--- a/
atk-adaptor/adaptors/collection-adaptor.c
+++ b/
atk-adaptor/adaptors/collection-adaptor.c
@@
-33,6
+33,7
@@
#include "accessible-register.h"
#include "object.h"
#include "accessible-register.h"
#include "object.h"
+#include "introspection.h"
typedef struct _MatchRulePrivate MatchRulePrivate;
struct _MatchRulePrivate
typedef struct _MatchRulePrivate MatchRulePrivate;
struct _MatchRulePrivate
@@
-52,27
+53,27
@@
static gboolean
child_interface_p (AtkObject * child, gchar * repo_id)
{
if (!strcasecmp (repo_id, "action"))
child_interface_p (AtkObject * child, gchar * repo_id)
{
if (!strcasecmp (repo_id, "action"))
- return
atk_is_action
(child);
+ return
ATK_IS_ACTION
(child);
if (!strcasecmp (repo_id, "component"))
if (!strcasecmp (repo_id, "component"))
- return
atk_is_component
(child);
+ return
ATK_IS_COMPONENT
(child);
if (!strcasecmp (repo_id, "editabletext"))
if (!strcasecmp (repo_id, "editabletext"))
- return
atk_is_editable_text
(child);
+ return
ATK_IS_EDITABLE_TEXT
(child);
if (!strcasecmp (repo_id, "text"))
if (!strcasecmp (repo_id, "text"))
- return
atk_is_text
(child);
+ return
ATK_IS_TEXT
(child);
if (!strcasecmp (repo_id, "hypertext"))
if (!strcasecmp (repo_id, "hypertext"))
- return
atk_is_hypertext
(child);
+ return
ATK_IS_HYPERTEXT
(child);
if (!strcasecmp (repo_id, "image"))
if (!strcasecmp (repo_id, "image"))
- return
atk_is_image
(child);
+ return
ATK_IS_IMAGE
(child);
if (!strcasecmp (repo_id, "selection"))
if (!strcasecmp (repo_id, "selection"))
- return
atk_is_selection
(child);
+ return
ATK_IS_SELECTION
(child);
if (!strcasecmp (repo_id, "table"))
if (!strcasecmp (repo_id, "table"))
- return
atk_is_table
(child);
+ return
ATK_IS_TABLE
(child);
if (!strcasecmp (repo_id, "value"))
if (!strcasecmp (repo_id, "value"))
- return
atk_is_value
(child);
+ return
ATK_IS_VALUE
(child);
if (!strcasecmp (repo_id, "streamablecontent"))
if (!strcasecmp (repo_id, "streamablecontent"))
- return
atk_is_streamable_content
(child);
+ return
ATK_IS_STREAMABLE_CONTENT
(child);
if (!strcasecmp (repo_id, "document"))
if (!strcasecmp (repo_id, "document"))
- return
atk_is_document
(child);
+ return
ATK_IS_DOCUMENT
(child);
return FALSE;
}
return FALSE;
}
@@
-85,7
+86,7
@@
match_states_all_p (AtkObject * child, gint * set)
gint i;
gboolean ret = TRUE;
gint i;
gboolean ret = TRUE;
- if (set == NULL)
+ if (set == NULL
|| set[0] == BITARRAY_SEQ_TERM
)
return TRUE;
chs = atk_object_ref_state_set (child);
return TRUE;
chs = atk_object_ref_state_set (child);
@@
-111,7
+112,7
@@
match_states_any_p (AtkObject * child, gint * set)
gint i;
gboolean ret = FALSE;
gint i;
gboolean ret = FALSE;
- if (set == NULL)
+ if (set == NULL
|| set[0] == BITARRAY_SEQ_TERM
)
return TRUE;
chs = atk_object_ref_state_set (child);
return TRUE;
chs = atk_object_ref_state_set (child);
@@
-136,7
+137,7
@@
match_states_none_p (AtkObject * child, gint * set)
gint i;
gboolean ret = TRUE;
gint i;
gboolean ret = TRUE;
- if (set == NULL)
+ if (set == NULL
|| set[0] == BITARRAY_SEQ_TERM
)
return TRUE;
chs = atk_object_ref_state_set (child);
return TRUE;
chs = atk_object_ref_state_set (child);
@@
-537,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)
/* 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++;
{
ls = g_list_append (ls, obj);
kount++;
@@
-550,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);
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.
{
/* there are still some siblings to visit so get the previous sibling
and get it's last descendant.
@@
-570,7
+572,7
@@
sort_order_rev_canonical (MatchRulePrivate * mrp, GList * ls,
kount = sort_order_rev_canonical (mrp, ls, kount, max,
nextobj, TRUE, pobj);
}
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,
{
/* no more siblings so next node must be the parent */
kount = sort_order_rev_canonical (mrp, ls, kount, max,
@@
-843,7
+845,7
@@
inorder (AtkObject * collection, MatchRulePrivate * mrp,
obj = parent;
}
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);
{
kount = sort_order_canonical (mrp, ls, kount, max,
obj, i + 1, TRUE, FALSE, TRUE, TRUE);
@@
-1134,5
+1136,5
@@
void
spi_initialize_collection (DRoutePath * path)
{
droute_path_add_interface (path,
spi_initialize_collection (DRoutePath * path)
{
droute_path_add_interface (path,
- SPI_DBUS_INTERFACE_COLLECTION, methods, NULL);
+ SPI_DBUS_INTERFACE_COLLECTION,
spi_org_a11y_atspi_Collection,
methods, NULL);
};
};