diff --git a/gtk/gtkatcontext.c b/gtk/gtkatcontext.c index 5b25a74703..e4ca7217d4 100644 --- a/gtk/gtkatcontext.c +++ b/gtk/gtkatcontext.c @@ -85,6 +85,9 @@ gtk_at_context_dispose (GObject *gobject) gtk_at_context_unrealize (self); + g_clear_object (&self->accessible_parent); + g_clear_object (&self->next_accessible_sibling); + G_OBJECT_CLASS (gtk_at_context_parent_class)->dispose (gobject); } @@ -459,14 +462,14 @@ GtkAccessible * gtk_at_context_get_accessible_parent (GtkATContext *self) { g_return_val_if_fail (GTK_IS_AT_CONTEXT (self), NULL); - + return self->accessible_parent; } /*< private > * gtk_at_context_set_accessible_parent: * @self: a `GtkAtContext` - * @parent: the parent `GtkAccessible` to set + * @parent: (nullable): the parent `GtkAccessible` to set * * Sets the parent accessible object of the given `GtkAtContext`. */ @@ -475,7 +478,7 @@ gtk_at_context_set_accessible_parent (GtkATContext *self, GtkAccessible *parent) { g_return_if_fail (GTK_IS_AT_CONTEXT (self)); - + g_set_object (&self->accessible_parent, parent); } @@ -491,7 +494,7 @@ GtkAccessible * gtk_at_context_get_next_accessible_sibling (GtkATContext *self) { g_return_val_if_fail (GTK_IS_AT_CONTEXT (self), NULL); - + return self->next_accessible_sibling; } @@ -507,7 +510,7 @@ gtk_at_context_set_next_accessible_sibling (GtkATContext *self, GtkAccessible *sibling) { g_return_if_fail (GTK_IS_AT_CONTEXT (self)); - + g_set_object (&self->next_accessible_sibling, sibling); } diff --git a/gtk/gtkstack.c b/gtk/gtkstack.c index 05ad60504b..05364388a2 100644 --- a/gtk/gtkstack.c +++ b/gtk/gtkstack.c @@ -1726,7 +1726,6 @@ stack_remove (GtkStack *stack, if (priv->last_visible_child == child_info) priv->last_visible_child = NULL; - gtk_accessible_set_accessible_parent (GTK_ACCESSIBLE (child), NULL, NULL); gtk_widget_unparent (child); g_clear_object (&child_info->widget);