CORBA_Environment *ev){
AtkAttributeSet *attributes, *default_attributes = NULL;
+ AtkAttribute *attr = NULL;
gint intstart_offset, intend_offset;
Accessibility_AttributeSet *retval = NULL;
AtkText *text = get_text_from_servant (servant);
&intstart_offset, &intend_offset);
if (attributes) total_attributes = n_attributes = g_slist_length (attributes);
+
if (includeDefaults)
{
default_attributes = atk_text_get_default_attributes (text);
*startOffset = intstart_offset;
*endOffset = intend_offset;
+ retval = CORBA_sequence_CORBA_string__alloc ();
+ retval->_length = retval->_maximum = total_attributes;
+ retval->_buffer = CORBA_sequence_CORBA_string_allocbuf (total_attributes);
+ CORBA_sequence_set_release (retval, CORBA_TRUE);
+
if (total_attributes)
- {
- retval = CORBA_sequence_CORBA_string__alloc ();
- retval->_length = retval->_maximum = total_attributes;
- retval->_buffer = CORBA_sequence_CORBA_string_allocbuf (total_attributes);
- CORBA_sequence_set_release (retval, CORBA_TRUE);
-
+ {
for (i = 0; i < n_attributes; ++i)
{
- retval->_buffer[i] = CORBA_string_dup (g_slist_nth_data (attributes, i));
+ attr = g_slist_nth_data (attributes, i);
+ retval->_buffer[i] = CORBA_string_dup (g_strconcat (attr->name, ":", attr->value, NULL));
}
for (j = 0; j < n_default_attributes; ++i, ++j)
{
- retval->_buffer[i] = CORBA_string_dup (g_slist_nth_data (default_attributes, j));
+ attr = g_slist_nth_data (default_attributes, j);
+ retval->_buffer[i] = CORBA_string_dup (g_strconcat (attr->name, ":", attr->value, NULL));
}
atk_attribute_set_free (attributes);
impl_getDefaultAttributeSet (PortableServer_Servant servant,
CORBA_Environment *ev){
AtkAttributeSet *attributes;
+ AtkAttribute *attr = NULL;
Accessibility_AttributeSet *retval = NULL;
AtkText *text = get_text_from_servant (servant);
gint n_attributes = 0;
for (i = 0; i < n_attributes; ++i)
{
- retval->_buffer[i] = CORBA_string_dup (g_slist_nth_data (attributes, i));
+ attr = g_slist_nth_data (attributes, i);
+ retval->_buffer [i] = CORBA_string_dup (g_strconcat (attr->name, ":", attr->value, NULL));
}
atk_attribute_set_free (attributes);
}