]> Pileus Git - ~andy/gtk/commitdiff
widget: Unset widget on accessibles
authorBenjamin Otte <otte@redhat.com>
Sun, 18 Dec 2011 15:55:14 +0000 (16:55 +0100)
committerBenjamin Otte <otte@redhat.com>
Mon, 19 Dec 2011 15:17:13 +0000 (16:17 +0100)
gtk/gtkwidget.c

index 535da26376d1857c6607c394f3820ecbf91973c2..a89275f0825d4f9ab0ea7ce3a49bdb5b29996ccd 100644 (file)
@@ -10101,6 +10101,11 @@ gtk_widget_real_destroy (GtkWidget *object)
   /* gtk_object_destroy() will already hold a refcount on object */
   GtkWidget *widget = GTK_WIDGET (object);
   GtkWidgetPrivate *priv = widget->priv;
+  GtkAccessible *accessible;
+
+  accessible = g_object_steal_qdata (G_OBJECT (widget), quark_accessible_object);
+  if (GTK_IS_ACCESSIBLE (accessible))
+    gtk_accessible_set_widget (accessible, NULL);
 
   /* wipe accelerator closures (keep order) */
   g_object_set_qdata (G_OBJECT (widget), quark_accel_path, NULL);