diff --git a/gtk/gtkaccessible.c b/gtk/gtkaccessible.c index 1f3e2a3209..582cdf08fd 100644 --- a/gtk/gtkaccessible.c +++ b/gtk/gtkaccessible.c @@ -656,14 +656,17 @@ void gtk_accessible_platform_changed (GtkAccessible *self, GtkAccessiblePlatformChange change) { - GtkATContext *context = gtk_accessible_get_at_context (self); + GtkATContext *context; + + if (GTK_IS_WIDGET (self) && + gtk_widget_get_root (GTK_WIDGET (self)) == NULL) + return; + + context = gtk_accessible_get_at_context (self); /* propagate changes up from ignored widgets */ if (gtk_accessible_get_accessible_role (self) == GTK_ACCESSIBLE_ROLE_NONE) { - if (gtk_widget_get_parent (GTK_WIDGET (self)) == NULL) - return; - context = gtk_accessible_get_at_context (GTK_ACCESSIBLE (gtk_widget_get_parent (GTK_WIDGET (self)))); }