[nautilus/gnome-3-4] a11y: fix accessibility implementation for NautilusIconContainer



commit 3b73a3f460a4dbbe73d9942127a9e050b5807b91
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Thu Jun 7 23:27:01 2012 -0400

    a11y: fix accessibility implementation for NautilusIconContainer
    
    Clean up a11y code and make sure inheritance for
    EelCanvasAccessible->NautilusIconContainerAccessible and for
    EelCanvasItemAccessible->NautilusIconCanvasItemAccessible work properly.
    This makes the ATK state machinery in EelCanvasItemAccessible work
    again, which fixes
    
    https://bugzilla.gnome.org/show_bug.cgi?id=677509

 eel/eel-canvas.c                                |  111 +++++----------------
 eel/eel-canvas.h                                |   16 +++-
 libnautilus-private/nautilus-icon-canvas-item.c |   36 +++----
 libnautilus-private/nautilus-icon-container.c   |  126 +++++++++--------------
 4 files changed, 103 insertions(+), 186 deletions(-)
---
diff --git a/eel/eel-canvas.c b/eel/eel-canvas.c
index ebca1bb..a17bbf7 100644
--- a/eel/eel-canvas.c
+++ b/eel/eel-canvas.c
@@ -4122,74 +4122,32 @@ eel_canvas_item_accessible_ref_state_set (AtkObject *accessible)
 }
 
 static void
-eel_canvas_item_accessible_class_init (AtkObjectClass *klass)
+eel_canvas_item_accessible_class_init (EelCanvasItemAccessibleClass *klass)
 {
+	AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass);
+
  	accessible_item_parent_class = g_type_class_peek_parent (klass);
 
-	klass->initialize = eel_canvas_item_accessible_initialize;
-	klass->ref_state_set = eel_canvas_item_accessible_ref_state_set;
+	atk_class->initialize = eel_canvas_item_accessible_initialize;
+	atk_class->ref_state_set = eel_canvas_item_accessible_ref_state_set;
 }
 
-static GType
-eel_canvas_item_accessible_get_type (void)
+static void
+eel_canvas_item_accessible_init (EelCanvasItemAccessible *self)
 {
-	static GType type = 0;
-
-	if (!type) {
-		static const GInterfaceInfo atk_component_info = {
-			(GInterfaceInitFunc) eel_canvas_item_accessible_component_interface_init,
-                 	(GInterfaceFinalizeFunc) NULL,
-			NULL
-		};
-		AtkObjectFactory *factory;
-		GType parent_atk_type;
-		GTypeQuery query;
-		GTypeInfo tinfo = { 0 };
-
-		factory = atk_registry_get_factory (atk_get_default_registry(),
-						    G_TYPE_INITIALLY_UNOWNED);
-		if (!factory) {
-			return G_TYPE_INVALID;
-		}
-		parent_atk_type = atk_object_factory_get_accessible_type (factory);
-		if (!parent_atk_type) {
-			return G_TYPE_INVALID;
-		}
-		g_type_query (parent_atk_type, &query);
-		tinfo.class_init = (GClassInitFunc) eel_canvas_item_accessible_class_init;
-		tinfo.class_size = query.class_size;
-		tinfo.instance_size = query.instance_size;
-		type = g_type_register_static (parent_atk_type,
-					       "EelCanvasItemAccessibility",
-					       &tinfo, 0);
-
-		g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
-					     &atk_component_info);
-
-	}
 
-	return type;
 }
 
-static AtkObject *
-eel_canvas_item_accessible_create (GObject *for_object)
-{
-	GType type;
-	AtkObject *accessible;
-	EelCanvasItem *item;
-
-	item = EEL_CANVAS_ITEM (for_object);
-	g_return_val_if_fail (item != NULL, NULL);
+G_DEFINE_TYPE_WITH_CODE (EelCanvasItemAccessible,
+			 eel_canvas_item_accessible,
+			 ATK_TYPE_GOBJECT_ACCESSIBLE,
+			 G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT,
+						eel_canvas_item_accessible_component_interface_init));
 
-	type = eel_canvas_item_accessible_get_type ();
-	if (type == G_TYPE_INVALID) {
-		return atk_no_op_object_new (for_object);
-	}
-
-        accessible = g_object_new (type, NULL);
-	atk_object_initialize (accessible, for_object);
-	return accessible;
-}
+typedef AtkObjectFactory      EelCanvasItemAccessibleFactory;
+typedef AtkObjectFactoryClass EelCanvasItemAccessibleFactoryClass;
+G_DEFINE_TYPE (EelCanvasItemAccessibleFactory, eel_canvas_item_accessible_factory,
+	       ATK_TYPE_OBJECT_FACTORY)
 
 static GType
 eel_canvas_item_accessible_factory_get_accessible_type (void)
@@ -4198,15 +4156,19 @@ eel_canvas_item_accessible_factory_get_accessible_type (void)
 }
 
 static AtkObject*
-eel_canvas_item_accessible_factory_create_accessible (GObject *obj)
+eel_canvas_item_accessible_factory_create_accessible (GObject *for_object)
 {
 	AtkObject *accessible;
 
-	g_return_val_if_fail (G_IS_OBJECT (obj), NULL);
+        accessible = g_object_new (eel_canvas_item_accessible_get_type (), NULL);
+	atk_object_initialize (accessible, for_object);
+	return accessible;
+}
 
-	accessible = eel_canvas_item_accessible_create (obj);
+static void
+eel_canvas_item_accessible_factory_init (EelCanvasItemAccessibleFactory *self)
+{
 
-	return accessible;
 }
 
 static void
@@ -4215,31 +4177,6 @@ eel_canvas_item_accessible_factory_class_init (AtkObjectFactoryClass *klass)
 	klass->create_accessible = eel_canvas_item_accessible_factory_create_accessible;
 	klass->get_accessible_type = eel_canvas_item_accessible_factory_get_accessible_type;
 }
- 
-static GType
-eel_canvas_item_accessible_factory_get_type (void)
-{
-	static GType type = 0;
-
-	if (!type) {
-		static const GTypeInfo tinfo = {
-			sizeof (AtkObjectFactoryClass),
-			(GBaseInitFunc) NULL,
-			(GBaseFinalizeFunc) NULL,
-			(GClassInitFunc) eel_canvas_item_accessible_factory_class_init,
-			NULL,		/* class_finalize */
-			NULL,		/* class_data */
-			sizeof (AtkObjectFactory),
-			0,		/* n_preallocs */
-			NULL
-		};
-		type = g_type_register_static (ATK_TYPE_OBJECT_FACTORY,
-					       "EelCanvasItemAccessibilityFactory",
-					       &tinfo, 0);
-	}
-
-	return type;
-}
 
 /* Class initialization function for EelCanvasItemClass */
 static void
diff --git a/eel/eel-canvas.h b/eel/eel-canvas.h
index 1853936..685bfa6 100644
--- a/eel/eel-canvas.h
+++ b/eel/eel-canvas.h
@@ -515,7 +515,7 @@ void eel_canvas_world_to_window (EelCanvas *canvas,
 				 double worldx, double worldy, double *winx, double *winy);
 
 /* Accessible implementation */
-GType eel_canvas_accessible_get_type(void);
+GType eel_canvas_accessible_get_type (void);
 
 typedef struct _EelCanvasAccessible EelCanvasAccessible;
 struct _EelCanvasAccessible
@@ -529,6 +529,20 @@ struct _EelCanvasAccessibleClass
 	GtkAccessibleClass parent_class;
 };
 
+GType eel_canvas_item_accessible_get_type (void);
+
+typedef struct _EelCanvasItemAccessible EelCanvasItemAccessible;
+struct _EelCanvasItemAccessible
+{
+	GtkAccessible parent;
+};
+
+typedef struct _EelCanvasItemAccessibleClass EelCanvasItemAccessibleClass;
+struct _EelCanvasItemAccessibleClass
+{
+	GtkAccessibleClass parent_class;
+};
+
 G_END_DECLS
 
 #endif
diff --git a/libnautilus-private/nautilus-icon-canvas-item.c b/libnautilus-private/nautilus-icon-canvas-item.c
index 4735e71..6b85b70 100644
--- a/libnautilus-private/nautilus-icon-canvas-item.c
+++ b/libnautilus-private/nautilus-icon-canvas-item.c
@@ -2200,12 +2200,16 @@ typedef struct {
 	gint action_number;
 } NautilusIconCanvasItemAccessibleActionContext;
 
-static GType nautilus_icon_canvas_item_accessible_get_type (void);
+typedef struct {
+	EelCanvasItemAccessible parent;
+	NautilusIconCanvasItemAccessiblePrivate *priv;
+} NautilusIconCanvasItemAccessible;
+
+typedef struct {
+	EelCanvasItemAccessibleClass parent_class;
+} NautilusIconCanvasItemAccessibleClass;
 
-#define GET_PRIV(o) \
-	G_TYPE_INSTANCE_GET_PRIVATE(o,\
-				    nautilus_icon_canvas_item_accessible_get_type (),\
-				    NautilusIconCanvasItemAccessiblePrivate);
+#define GET_ACCESSIBLE_PRIV(o) ((NautilusIconCanvasItemAccessible *) o)->priv;
 
 /* accessible AtkAction interface */
 static gboolean
@@ -2307,7 +2311,7 @@ nautilus_icon_canvas_item_accessible_action_get_description (AtkAction *accessib
 
 	g_assert (i < LAST_ACTION);
 
-	priv = GET_PRIV (accessible);
+	priv = GET_ACCESSIBLE_PRIV (accessible);
 
 	if (priv->action_descriptions[i]) {
 		return priv->action_descriptions[i];
@@ -2342,7 +2346,7 @@ nautilus_icon_canvas_item_accessible_action_set_description (AtkAction *accessib
 
 	g_assert (i < LAST_ACTION);
 
-	priv = GET_PRIV (accessible);
+	priv = GET_ACCESSIBLE_PRIV (accessible);
 
 	if (priv->action_descriptions[i]) {
 		g_free (priv->action_descriptions[i]);
@@ -2446,7 +2450,7 @@ nautilus_icon_canvas_item_accessible_get_image_description (AtkImage *image)
 	NautilusIconContainer *container;
 	char *description;
 
-	priv = GET_PRIV (image);
+	priv = GET_ACCESSIBLE_PRIV (image);
 
 	if (priv->image_description) {
 		return priv->image_description;
@@ -2525,7 +2529,7 @@ nautilus_icon_canvas_item_accessible_set_image_description (AtkImage    *image,
 {
 	NautilusIconCanvasItemAccessiblePrivate *priv;
 
-	priv = GET_PRIV (image);
+	priv = GET_ACCESSIBLE_PRIV (image);
 
 	g_free (priv->image_description);
 	priv->image_description = g_strdup (description);
@@ -2739,17 +2743,9 @@ nautilus_icon_canvas_item_accessible_text_interface_init (AtkTextIface *iface)
 	iface->get_offset_at_point     = nautilus_icon_canvas_item_accessible_get_offset_at_point;
 }
 
-typedef struct {
-	AtkGObjectAccessible parent;
-} NautilusIconCanvasItemAccessible;
-
-typedef struct {
-	AtkGObjectAccessibleClass parent_class;
-} NautilusIconCanvasItemAccessibleClass;
-
 G_DEFINE_TYPE_WITH_CODE (NautilusIconCanvasItemAccessible,
 			 nautilus_icon_canvas_item_accessible,
-			 ATK_TYPE_GOBJECT_ACCESSIBLE,
+			 eel_canvas_item_accessible_get_type (),
 			 G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE,
 						nautilus_icon_canvas_item_accessible_image_interface_init)
 			 G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT,
@@ -2812,7 +2808,7 @@ nautilus_icon_canvas_item_accessible_finalize (GObject *object)
 	NautilusIconCanvasItemAccessiblePrivate *priv;
 	int i;
 
-	priv = GET_PRIV (object);
+	priv = GET_ACCESSIBLE_PRIV (object);
 
 	for (i = 0; i < LAST_ACTION; i++) {
 		g_free (priv->action_descriptions[i]);
@@ -2854,6 +2850,8 @@ nautilus_icon_canvas_item_accessible_class_init (NautilusIconCanvasItemAccessibl
 static void
 nautilus_icon_canvas_item_accessible_init (NautilusIconCanvasItemAccessible *self)
 {
+	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, nautilus_icon_canvas_item_accessible_get_type (),
+						  NautilusIconCanvasItemAccessiblePrivate);
 }
 
 /* dummy typedef */
diff --git a/libnautilus-private/nautilus-icon-container.c b/libnautilus-private/nautilus-icon-container.c
index 906273c..860917b 100644
--- a/libnautilus-private/nautilus-icon-container.c
+++ b/libnautilus-private/nautilus-icon-container.c
@@ -205,10 +205,6 @@ static int compare_icons_vertical (NautilusIconContainer *container,
 static void store_layout_timestamps_now (NautilusIconContainer *container);
 static void remove_search_entry_timeout (NautilusIconContainer *container);
 
-static gpointer accessible_parent_class;
-
-static GQuark accessible_private_data_quark = 0;
-
 static const char *nautilus_icon_container_accessible_action_names[] = {
 	"activate",
 	"menu",
@@ -8528,20 +8524,16 @@ nautilus_icon_container_set_highlighted_for_clipboard (NautilusIconContainer *co
 }
 
 /* NautilusIconContainerAccessible */
-
-static NautilusIconContainerAccessiblePrivate *
-accessible_get_priv (AtkObject *accessible)
-{
+typedef struct {
+	EelCanvasAccessible parent;
 	NautilusIconContainerAccessiblePrivate *priv;
-	
-	priv = g_object_get_qdata (G_OBJECT (accessible), 
-				   accessible_private_data_quark);
+} NautilusIconContainerAccessible;
 
-	return priv;
-}
+typedef EelCanvasAccessibleClass NautilusIconContainerAccessibleClass;
 
-/* AtkAction interface */
+#define GET_ACCESSIBLE_PRIV(o) ((NautilusIconContainerAccessible *) o)->priv
 
+/* AtkAction interface */
 static gboolean
 nautilus_icon_container_accessible_do_action (AtkAction *accessible, int i)
 {
@@ -8590,7 +8582,7 @@ nautilus_icon_container_accessible_action_get_description (AtkAction *accessible
 	
 	g_assert (i < LAST_ACTION);
 
-	priv = accessible_get_priv (ATK_OBJECT (accessible));
+	priv = GET_ACCESSIBLE_PRIV (accessible);
 	
 	if (priv->action_descriptions[i]) {
 		return priv->action_descriptions[i];
@@ -8625,7 +8617,7 @@ nautilus_icon_container_accessible_action_set_description (AtkAction *accessible
 
 	g_assert (i < LAST_ACTION);
 
-	priv = accessible_get_priv (ATK_OBJECT (accessible));
+	priv = GET_ACCESSIBLE_PRIV (accessible);
 
 	if (priv->action_descriptions[i]) {
 		g_free (priv->action_descriptions[i]);
@@ -8657,8 +8649,7 @@ nautilus_icon_container_accessible_update_selection (AtkObject *accessible)
 	NautilusIcon *icon;
 
 	container = NAUTILUS_ICON_CONTAINER (gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)));
-
-	priv = accessible_get_priv (accessible);
+	priv = GET_ACCESSIBLE_PRIV (accessible);
 
 	if (priv->selection) {
 		g_list_free (priv->selection);
@@ -8734,7 +8725,6 @@ nautilus_icon_container_accessible_cleared_cb (NautilusIconContainer *container,
 	g_signal_emit_by_name (data, "children_changed", 0, NULL, NULL);
 }
 
-
 static gboolean 
 nautilus_icon_container_accessible_add_selection (AtkSelection *accessible, 
 						  int i)
@@ -8790,13 +8780,13 @@ static AtkObject *
 nautilus_icon_container_accessible_ref_selection (AtkSelection *accessible, 
 						  int i)
 {
-	AtkObject *atk_object;
 	NautilusIconContainerAccessiblePrivate *priv;
+	AtkObject *atk_object;
 	GList *item;
 	NautilusIcon *icon;
 
 	nautilus_icon_container_accessible_update_selection (ATK_OBJECT (accessible));
-	priv = accessible_get_priv (ATK_OBJECT (accessible));
+	priv = GET_ACCESSIBLE_PRIV (accessible);
 
 	item = (g_list_nth (priv->selection, i));
 
@@ -8816,14 +8806,13 @@ nautilus_icon_container_accessible_ref_selection (AtkSelection *accessible,
 static int
 nautilus_icon_container_accessible_get_selection_count (AtkSelection *accessible)
 {
-	int count;
 	NautilusIconContainerAccessiblePrivate *priv;
+	int count;
 
+	priv = GET_ACCESSIBLE_PRIV (accessible);
 	nautilus_icon_container_accessible_update_selection (ATK_OBJECT (accessible));
-	priv = accessible_get_priv (ATK_OBJECT (accessible));
-
 	count = g_list_length (priv->selection);
-	
+
 	return count;
 }
 
@@ -8855,8 +8844,8 @@ static gboolean
 nautilus_icon_container_accessible_remove_selection (AtkSelection *accessible,
 						     int i)
 {
-	NautilusIconContainer *container;
 	NautilusIconContainerAccessiblePrivate *priv;
+	NautilusIconContainer *container;
 	GList *l;
 	GList *selection;
 	NautilusIcon *icon;
@@ -8867,11 +8856,10 @@ nautilus_icon_container_accessible_remove_selection (AtkSelection *accessible,
 		return FALSE;
 	}
 
+        container = NAUTILUS_ICON_CONTAINER (widget);
 	nautilus_icon_container_accessible_update_selection (ATK_OBJECT (accessible));
-	priv = accessible_get_priv (ATK_OBJECT (accessible));
 
-        container = NAUTILUS_ICON_CONTAINER (widget);
-	
+	priv = GET_ACCESSIBLE_PRIV (accessible);
 	l = g_list_nth (priv->selection, i);
 	if (l) {
 		icon = l->data;
@@ -8957,6 +8945,7 @@ nautilus_icon_container_accessible_get_n_children (AtkObject *accessible)
 	if (container->details->rename_widget) {
 		i++;
 	}
+
 	return i;
 }
 
@@ -8983,7 +8972,7 @@ nautilus_icon_container_accessible_ref_child (AtkObject *accessible, int i)
                 
                 atk_object = atk_gobject_accessible_for_object (G_OBJECT (icon->item));
                 g_object_ref (atk_object);
-                
+
                 return atk_object;
         } else {
 		if (i == g_list_length (container->details->icons)) {
@@ -8998,37 +8987,36 @@ nautilus_icon_container_accessible_ref_child (AtkObject *accessible, int i)
         }
 }
 
+G_DEFINE_TYPE_WITH_CODE (NautilusIconContainerAccessible, nautilus_icon_container_accessible,
+			 eel_canvas_accessible_get_type (),
+			 G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, nautilus_icon_container_accessible_action_interface_init)
+			 G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, nautilus_icon_container_accessible_selection_interface_init))
+
 static void
 nautilus_icon_container_accessible_initialize (AtkObject *accessible, 
 					       gpointer data)
 {
 	NautilusIconContainer *container;
-	NautilusIconContainerAccessiblePrivate *priv;
 
-	if (ATK_OBJECT_CLASS (accessible_parent_class)->initialize) {
-		ATK_OBJECT_CLASS (accessible_parent_class)->initialize (accessible, data);
+	if (ATK_OBJECT_CLASS (nautilus_icon_container_accessible_parent_class)->initialize) {
+		ATK_OBJECT_CLASS (nautilus_icon_container_accessible_parent_class)->initialize (accessible, data);
 	}
 
-	priv = g_new0 (NautilusIconContainerAccessiblePrivate, 1);
-	g_object_set_qdata (G_OBJECT (accessible), 
-			    accessible_private_data_quark, 
-			    priv);
-
 	if (GTK_IS_ACCESSIBLE (accessible)) {
 		nautilus_icon_container_accessible_update_selection 
 			(ATK_OBJECT (accessible));
 		
 		container = NAUTILUS_ICON_CONTAINER (gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)));
-		g_signal_connect (G_OBJECT (container), "selection_changed",
+		g_signal_connect (container, "selection_changed",
 				  G_CALLBACK (nautilus_icon_container_accessible_selection_changed_cb), 
 				  accessible);
-		g_signal_connect (G_OBJECT (container), "icon_added",
+		g_signal_connect (container, "icon_added",
 				  G_CALLBACK (nautilus_icon_container_accessible_icon_added_cb), 
 				  accessible);
-		g_signal_connect (G_OBJECT (container), "icon_removed",
+		g_signal_connect (container, "icon_removed",
 				  G_CALLBACK (nautilus_icon_container_accessible_icon_removed_cb), 
 				  accessible);
-		g_signal_connect (G_OBJECT (container), "cleared",
+		g_signal_connect (container, "cleared",
 				  G_CALLBACK (nautilus_icon_container_accessible_cleared_cb), 
 				  accessible);
 	}
@@ -9040,7 +9028,8 @@ nautilus_icon_container_accessible_finalize (GObject *object)
 	NautilusIconContainerAccessiblePrivate *priv;
 	int i;
 
-	priv = accessible_get_priv (ATK_OBJECT (object));
+	priv = GET_ACCESSIBLE_PRIV (object);
+
 	if (priv->selection) {
 		g_list_free (priv->selection);
 	}
@@ -9050,63 +9039,42 @@ nautilus_icon_container_accessible_finalize (GObject *object)
 			g_free (priv->action_descriptions[i]);
 		}
 	}
-	
-	g_free (priv);
 
-	G_OBJECT_CLASS (accessible_parent_class)->finalize (object);
+	G_OBJECT_CLASS (nautilus_icon_container_accessible_parent_class)->finalize (object);
 }
 
 static void
-nautilus_icon_container_accessible_class_init (AtkObjectClass *klass)
+nautilus_icon_container_accessible_init (NautilusIconContainerAccessible *self)
 {
-	GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, nautilus_icon_container_accessible_get_type (),
+						  NautilusIconContainerAccessiblePrivate);
+}
 
-	accessible_parent_class = g_type_class_peek_parent (klass);
+static void
+nautilus_icon_container_accessible_class_init (NautilusIconContainerAccessibleClass *klass)
+{
+	AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass);
+	GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
 	gobject_class->finalize = nautilus_icon_container_accessible_finalize;
 
-	klass->get_n_children = nautilus_icon_container_accessible_get_n_children;
-	klass->ref_child = nautilus_icon_container_accessible_ref_child;
-	klass->initialize = nautilus_icon_container_accessible_initialize;
+	atk_class->get_n_children = nautilus_icon_container_accessible_get_n_children;
+	atk_class->ref_child = nautilus_icon_container_accessible_ref_child;
+	atk_class->initialize = nautilus_icon_container_accessible_initialize;
 
-	accessible_private_data_quark = g_quark_from_static_string ("icon-container-accessible-private-data");
+	g_type_class_add_private (klass, sizeof (NautilusIconContainerAccessiblePrivate));
 }
 
 static AtkObject *
 get_accessible (GtkWidget *widget)
 {
-        static GType type = 0;
 	AtkObject *accessible;
 	
 	if ((accessible = eel_accessibility_get_atk_object (widget))) {
 		return accessible;
 	}
 
-        if (!type) {
-                const GInterfaceInfo atk_action_info = {
-                        (GInterfaceInitFunc) nautilus_icon_container_accessible_action_interface_init,
-                        (GInterfaceFinalizeFunc) NULL,
-                        NULL
-                };              
-		
-                const GInterfaceInfo atk_selection_info = {
-                        (GInterfaceInitFunc) nautilus_icon_container_accessible_selection_interface_init,
-                        (GInterfaceFinalizeFunc) NULL,
-                        NULL
-                };
-
-		type = eel_accessibility_create_accessible_gtype 
-			("NautilusIconContainerAccessible",
-			 widget,
-			 (GClassInitFunc) nautilus_icon_container_accessible_class_init);
-		
-                g_type_add_interface_static (type, ATK_TYPE_ACTION,
-                                             &atk_action_info);
-                g_type_add_interface_static (type, ATK_TYPE_SELECTION,
-                                             &atk_selection_info);
-        }
-	
-	accessible = g_object_new (type, "widget", widget, NULL);
+	accessible = g_object_new (nautilus_icon_container_accessible_get_type (), "widget", widget, NULL);
 
 	return eel_accessibility_set_atk_object_return (widget, accessible);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]