summaryrefslogtreecommitdiff
path: root/plugins
diff options
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2015-12-15 16:10:38 +0100
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2015-12-15 16:10:38 +0100
commit7b2fd0589571691e85928e54528d8903a54efec2 (patch)
tree122a6cd7cb67f3b5e4d4d8eb4cd183bcd820dd77 /plugins
parentdb983ac3c26a782a54abf59f6e3c6309a773a12a (diff)
NuxAreaAccessible: don't try to get accessible data from null views
(bzr r4054.2.1)
Diffstat (limited to 'plugins')
-rw-r--r--plugins/unityshell/src/nux-area-accessible.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/plugins/unityshell/src/nux-area-accessible.cpp b/plugins/unityshell/src/nux-area-accessible.cpp
index 0e709596c..555ac8d4d 100644
--- a/plugins/unityshell/src/nux-area-accessible.cpp
+++ b/plugins/unityshell/src/nux-area-accessible.cpp
@@ -204,11 +204,10 @@ nux_area_accessible_get_parent(AtkObject* obj)
if (nux_object == NULL) /* defunct */
return NULL;
- area = dynamic_cast<nux::Area*>(nux_object);
-
+ area = static_cast<nux::Area*>(nux_object);
parent = area->GetParentObject();
- return unity_a11y_get_accessible(parent);
+ return parent ? unity_a11y_get_accessible(parent) : NULL;
}
/*
@@ -450,14 +449,16 @@ gboolean
nux_area_accessible_parent_window_active(NuxAreaAccessible* self)
{
AtkStateSet* state_set = NULL;
+ gboolean active = FALSE;
check_parent_window_connected(self);
- state_set = atk_object_ref_state_set(ATK_OBJECT(self->priv->parent_window));
-
- gboolean active = atk_state_set_contains_state(state_set, ATK_STATE_ACTIVE);
-
- g_object_unref(state_set);
+ if (ATK_IS_OBJECT(self->priv->parent_window))
+ {
+ state_set = atk_object_ref_state_set(ATK_OBJECT(self->priv->parent_window));
+ active = atk_state_set_contains_state(state_set, ATK_STATE_ACTIVE);
+ g_object_unref(state_set);
+ }
return active;
}