guint needs_attention : 1;
guint visible : 1;
guint use_underline : 1;
+ guint in_destruction : 1;
};
typedef struct _GtkStackPageClass GtkStackPageClass;
{
GtkStackPage *page = GTK_STACK_PAGE (accessible);
+ if (page->in_destruction)
+ {
+ GTK_DEBUG (A11Y, "ATContext for ā%sā [%p] accessed during destruction",
+ G_OBJECT_TYPE_NAME (accessible),
+ accessible);
+ return NULL;
+ }
+
if (page->at_context == NULL)
{
GtkAccessibleRole role = GTK_ACCESSIBLE_ROLE_TAB_PANEL;
{
GtkStackPage *page = GTK_STACK_PAGE (object);
+ page->in_destruction = TRUE;
+
g_clear_object (&page->at_context);
G_OBJECT_CLASS (gtk_stack_page_parent_class)->dispose (object);