DEBUG("STATES:");
int a;
AtspiStateType stat;
- for (a = 0; a < states->len; ++a)
+ for (a = 0; states && (a < states->len); ++a)
{
stat = g_array_index (states, AtspiStateType, a);
state_name = state_to_char(stat);
child = atspi_accessible_get_child_at_index(obj, i, NULL);
name = atspi_accessible_get_name(child, NULL);
DEBUG("%d child name:%s", i, name);
- if (strncmp(name, "\0", 1))
+ if (name && strncmp(name, "\0", 1))
{
strncat(ret, name, sizeof(ret) - strlen(ret) - 1);
}
{
strncat(ret, below, sizeof(ret) - strlen(ret) - 1);
}
+
g_object_unref(child);
free(below);
free(name);
display_info_about_object(obj);
- if (strncmp(name, "\0", 1))
+ if (name && strncmp(name, "\0", 1))
names = strdup(name);
- else if (strncmp(other, "\0", 1))
+ else if (other && strncmp(other, "\0", 1))
names = strdup(other);
if (names)
strncat(ret, ", ", 2);
}
- strncat(ret, role_name, sizeof(ret) - strlen(ret) - 1);
- if (strncmp(description, "\0", 1))
- strncat(ret, ", ", 2);
- strncat(ret, description, sizeof(ret) - strlen(ret) - 1);
+ if (role_name)
+ strncat(ret, role_name, sizeof(ret) - strlen(ret) - 1);
+
+ if (description)
+ {
+ if (strncmp(description, "\0", 1))
+ strncat(ret, ", ", 2);
+ strncat(ret, description, sizeof(ret) - strlen(ret) - 1);
+ }
free(name);
+ free(names);
free(description);
free(role_name);
free(other);
current_widget = current_obj;
role = atspi_accessible_get_role_name(current_widget, &err);
+ if (!role)
+ {
+ ERROR("The role is null");
+ return;
+ }
GERROR_CHECK(err)
+
if(!strcmp(role, "entry"))
{
text_interface = atspi_accessible_get_text_iface(current_widget);
current_widget = current_obj;
role = atspi_accessible_get_role_name(current_widget, &err);
+ if (!role)
+ {
+ ERROR("The role is null");
+ return;
+ }
GERROR_CHECK(err)
+
if(!strcmp(role, "entry"))
{
text_interface = atspi_accessible_get_text_iface(current_widget);
current_widget = current_obj;
roleName = atspi_accessible_get_role_name(current_widget, &err);
+ if (!roleName)
+ {
+ ERROR("The role name is null");
+ return;
+ }
GERROR_CHECK(err)
DEBUG("Widget role prev: %s\n", roleName);
_cache_candidates_list_prepare(AtspiAccessible *root)
{
DEBUG("START");
+
+ if (!root) return NULL;
AtspiAccessible *r = atspi_accessible_get_parent(root, NULL);
if (r)
DEBUG("From application:%s [%s]", atspi_accessible_get_name(r, NULL), atspi_accessible_get_role_name(r, NULL));
DEBUG("Preparing candidates from root window: %s [%s]", atspi_accessible_get_name(root, NULL), atspi_accessible_get_role_name(root, NULL));
-
Eina_List *toprocess = NULL, *ret = NULL;
int n, i;
- if (!root) return NULL;
-
// Keep ref counter +1 on every object in returned list
g_object_ref(root);
toprocess = eina_list_append(toprocess, root);
if (ret) break;
}
}
+
g_object_unref(states);
return ret;
cA = object_cache_get(objA);
cB = object_cache_get(objB);
+ if (!cA || !cB)
+ {
+ ERROR("Cache is not ready yet");
+ return 0;
+ }
+
if (cA->bounds->y == cB->bounds->y)
return 0;
else if (cA->bounds->y > cB->bounds->y)
cA = object_cache_get(objA);
cB = object_cache_get(objB);
+ if (!cA || !cB)
+ {
+ ERROR("Cache is not ready yet");
+ return 0;
+ }
+
if (cA->bounds->x == cB->bounds->x)
{
if (cA->bounds->y > cB->bounds->y)
{
oc = object_cache_get(obj);
+ if (!oc)
+ {
+ ERROR("Cache is not ready yet");
+ continue;
+ }
// some objects may implement AtspiCompoment interface, however
// they do not have valid sizes.
if (!oc->bounds || (oc->bounds->width < 0) || oc->bounds->height < 0)
child = atspi_accessible_get_child_at_index(obj, i, NULL);
name = atspi_accessible_get_name(child, NULL);
DEBUG("%d child name:%s", i, name);
- if (strncmp(name, "\0", 1))
+ if (name && strncmp(name, "\0", 1))
{
strncat(ret, name, sizeof(ret) - strlen(ret) - 1);
}
DEBUG("->->->->->-> WIDGET GAINED HIGHLIGHT: %s <-<-<-<-<-<-<-", name);
DEBUG("->->->->->-> FROM SUBTREE HAS NAME: %s <-<-<-<-<-<-<-", other);
- if (strncmp(name, "\0", 1))
+ if (name && strncmp(name, "\0", 1))
names = strdup(name);
- else if (strncmp(other, "\0", 1))
+ else if (other && strncmp(other, "\0", 1))
names = strdup(other);
if (names)
strncat(ret, ", ", 2);
}
- strncat(ret, role_name, sizeof(ret) - strlen(ret) - 1);
- if (strncmp(description, "\0", 1))
- strncat(ret, ", ", 2);
- strncat(ret, description, sizeof(ret) - strlen(ret) - 1);
+ if (role_name)
+ strncat(ret, role_name, sizeof(ret) - strlen(ret) - 1);
+
+ if (description)
+ {
+ if (strncmp(description, "\0", 1))
+ strncat(ret, ", ", 2);
+ strncat(ret, description, sizeof(ret) - strlen(ret) - 1);
+ }
free(name);
+ free(names);
free(description);
free(role_name);
free(other);
static char *spi_on_value_changed_get_text(AtspiEvent *event, void *user_data)
{
Service_Data *sd = (Service_Data*)user_data;
- char *text_to_read;
+ char *text_to_read = NULL;
sd->currently_focused = event->source;
Service_Data *sd = user_data;
Voice_Info *vi = calloc(1, sizeof(Voice_Info));
+ if(!vi)
+ {
+ ERROR(MEMORY_ERROR);
+ return ECORE_CALLBACK_CANCEL;
+ }
if(asprintf(&vi->language, "%s",language) < 0)
{