diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2015-12-15 16:10:38 +0100 |
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2015-12-15 16:10:38 +0100 |
| commit | 7b2fd0589571691e85928e54528d8903a54efec2 (patch) | |
| tree | 122a6cd7cb67f3b5e4d4d8eb4cd183bcd820dd77 /plugins | |
| parent | db983ac3c26a782a54abf59f6e3c6309a773a12a (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.cpp | 17 |
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; } |
