[glade/tintou/modern-widget-adaptor: 2/2] gladeui: Modernize GladeWidgetAdaptor definition



commit f0a539093a01f874f262afd948c32035cf75656f
Author: Corentin Noël <corentin noel collabora com>
Date:   Tue Sep 10 15:53:21 2019 +0200

    gladeui: Modernize GladeWidgetAdaptor definition

 gladeui/glade-widget-adaptor.c | 568 ++++++++++++++++++++++++-----------------
 gladeui/glade-widget-adaptor.h |  28 +-
 2 files changed, 335 insertions(+), 261 deletions(-)
---
diff --git a/gladeui/glade-widget-adaptor.c b/gladeui/glade-widget-adaptor.c
index e0b430b4..04d935d0 100644
--- a/gladeui/glade-widget-adaptor.c
+++ b/gladeui/glade-widget-adaptor.c
@@ -54,7 +54,7 @@
 
 #define DEFAULT_ICON_NAME "widget-gtk-frame"
 
-struct _GladeWidgetAdaptorPrivate
+typedef struct
 {
   GType        type;                /* GType of the widget */
   GType        real_type;
@@ -100,7 +100,7 @@ struct _GladeWidgetAdaptorPrivate
                                        * widgets for example).
                                        */
   gboolean     query;                 /* Do we have to query the user, see glade_widget_adaptor_query() */
-};
+} GladeWidgetAdaptorPrivate;
 
 struct _GladeChildPacking
 {
@@ -144,7 +144,7 @@ typedef struct _GladeInternalChild GladeInternalChild;
 static GHashTable *adaptor_hash = NULL;
 
 /* This object used to be registered as GladeGObjectAdaptor but there is
- * no reason for it since the autogenerated class for GtWidget is GladeGtkWidgetAdaptor
+ * no reason for it since the autogenerated class for GtkWidget is GladeGtkWidgetAdaptor
  * TODO: rename GladeWidgetAdaptor to GladeGObjectAdator or GladeObjectAdator
  */
 G_DEFINE_TYPE_WITH_PRIVATE (GladeWidgetAdaptor, glade_widget_adaptor, G_TYPE_OBJECT);
@@ -156,15 +156,16 @@ G_DEFINE_TYPE_WITH_PRIVATE (GladeWidgetAdaptor, glade_widget_adaptor, G_TYPE_OBJ
 static void
 gwa_create_cursor (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GdkPixbuf *tmp_pixbuf, *widget_pixbuf;
   const GdkPixbuf *add_pixbuf;
   GdkDisplay *display;
   GError *error = NULL;
 
   /* only certain widget classes need to have cursors */
-  if (G_TYPE_IS_INSTANTIATABLE (adaptor->priv->type) == FALSE ||
-      G_TYPE_IS_ABSTRACT (adaptor->priv->type) != FALSE ||
-      adaptor->priv->generic_name == NULL)
+  if (G_TYPE_IS_INSTANTIATABLE (priv->type) == FALSE ||
+      G_TYPE_IS_ABSTRACT (priv->type) != FALSE ||
+      priv->generic_name == NULL)
     return;
 
   /* cannot continue if 'add widget' cursor pixbuf has not been loaded for any reason */
@@ -178,16 +179,16 @@ gwa_create_cursor (GladeWidgetAdaptor *adaptor)
   gdk_pixbuf_fill (tmp_pixbuf, 0x00000000);
 
   if (gtk_icon_theme_has_icon
-      (gtk_icon_theme_get_default (), adaptor->priv->icon_name))
+      (gtk_icon_theme_get_default (), priv->icon_name))
     {
       widget_pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
-                                                adaptor->priv->icon_name,
+                                                priv->icon_name,
                                                 22, 0, &error);
 
       if (error)
         {
           g_warning ("Could not load image data for named icon '%s': %s",
-                     adaptor->priv->icon_name, error->message);
+                     priv->icon_name, error->message);
           g_error_free (error);
           return;
         }
@@ -206,8 +207,7 @@ gwa_create_cursor (GladeWidgetAdaptor *adaptor)
                         0, 0, 12, 12, 0, 0, 1, 1, GDK_INTERP_NEAREST, 255);
 
 
-  adaptor->priv->cursor =
-      gdk_cursor_new_from_pixbuf (display, tmp_pixbuf, 6, 6);
+  priv->cursor = gdk_cursor_new_from_pixbuf (display, tmp_pixbuf, 6, 6);
 
   g_object_unref (tmp_pixbuf);
   g_object_unref (widget_pixbuf);
@@ -219,11 +219,12 @@ glade_widget_adaptor_hash_find (gpointer key,
                                 gpointer user_data)
 {
   GladeWidgetAdaptor *adaptor = value;
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GType *type = user_data;
 
-  if (g_type_is_a (adaptor->priv->type, *type))
+  if (g_type_is_a (priv->type, *type))
     {
-      *type = adaptor->priv->type;
+      *type = priv->type;
       return TRUE;
     }
 
@@ -298,16 +299,21 @@ glade_widget_adaptor_get_parent_adaptor_by_type (GType adaptor_type)
 GladeWidgetAdaptor *
 glade_widget_adaptor_get_parent_adaptor (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  return glade_widget_adaptor_get_parent_adaptor_by_type (adaptor->priv->type);
+  return glade_widget_adaptor_get_parent_adaptor_by_type (priv->type);
 }
 
 gboolean
 glade_widget_adaptor_has_internal_children (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), FALSE);
-  return adaptor->priv->internal_children != NULL;
+
+  return priv->internal_children != NULL;
 }
 
 static gint
@@ -382,18 +388,19 @@ gwa_list_signals (GladeWidgetAdaptor *adaptor, GType real_type)
 static GList *
 gwa_clone_parent_properties (GladeWidgetAdaptor *adaptor, gboolean is_packing)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GladeWidgetAdaptor *parent_adaptor;
   GList *properties = NULL, *list, *proplist;
 
   if ((parent_adaptor = gwa_get_parent_adaptor (adaptor)) != NULL)
     {
+      GladeWidgetAdaptorPrivate *parent_priv = glade_widget_adaptor_get_instance_private (parent_adaptor);
       gboolean reset_version;
 
-      proplist = is_packing ?
-          parent_adaptor->priv->packing_props : parent_adaptor->priv->properties;
+      proplist = is_packing ? parent_priv->packing_props : parent_priv->properties;
 
       /* Reset versioning in derived catalogs just once */
-      reset_version = strcmp (adaptor->priv->catalog, parent_adaptor->priv->catalog) != 0;
+      reset_version = strcmp (priv->catalog, parent_priv->catalog) != 0;
 
       for (list = proplist; list; list = list->next)
         {
@@ -416,6 +423,7 @@ gwa_setup_introspected_props_from_pspecs (GladeWidgetAdaptor *adaptor,
                                           gint                n_specs,
                                           gboolean            is_packing)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GladeWidgetAdaptor *parent_adaptor = gwa_get_parent_adaptor (adaptor);
   GladePropertyDef *property_def;
   gint i;
@@ -439,11 +447,9 @@ gwa_setup_introspected_props_from_pspecs (GladeWidgetAdaptor *adaptor,
     }
 
   if (is_packing)
-    adaptor->priv->packing_props =
-        g_list_concat (adaptor->priv->packing_props, g_list_reverse (list));
+    priv->packing_props = g_list_concat (priv->packing_props, g_list_reverse (list));
   else
-    adaptor->priv->properties =
-        g_list_concat (adaptor->priv->properties, g_list_reverse (list));
+    priv->properties = g_list_concat (priv->properties, g_list_reverse (list));
 }
 
 static void
@@ -451,19 +457,20 @@ gwa_setup_properties (GladeWidgetAdaptor *adaptor,
                       GObjectClass       *object_class,
                       gboolean            is_packing)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GParamSpec **specs = NULL;
   guint n_specs = 0;
   GList *l;
 
   /* only GtkContainer child propeties can be introspected */
-  if (is_packing && !g_type_is_a (adaptor->priv->type, GTK_TYPE_CONTAINER))
+  if (is_packing && !g_type_is_a (priv->type, GTK_TYPE_CONTAINER))
     return;
 
   /* First clone the parents properties */
   if (is_packing)
-    adaptor->priv->packing_props = gwa_clone_parent_properties (adaptor, is_packing);
+    priv->packing_props = gwa_clone_parent_properties (adaptor, is_packing);
   else
-    adaptor->priv->properties = gwa_clone_parent_properties (adaptor, is_packing);
+    priv->properties = gwa_clone_parent_properties (adaptor, is_packing);
 
   /* Now automaticly introspect new properties added in this class,
    * allow the class writer to decide what to override in the resulting
@@ -486,7 +493,7 @@ gwa_setup_properties (GladeWidgetAdaptor *adaptor,
        * (which could be used to call gtk_container_class_find_child_property()
        * and properly introspect whether or not its a packing property).
        */
-      for (l = adaptor->priv->packing_props; l; l = l->next)
+      for (l = priv->packing_props; l; l = l->next)
         {
           GladePropertyDef *property_def = l->data;
 
@@ -498,12 +505,14 @@ gwa_setup_properties (GladeWidgetAdaptor *adaptor,
 static GList *
 gwa_inherit_child_packing (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *parent_priv;
   GladeWidgetAdaptor *parent_adaptor;
   GList *child_packings = NULL, *packing_list, *default_list;
 
   if ((parent_adaptor = gwa_get_parent_adaptor (adaptor)) != NULL)
     {
-      for (packing_list = parent_adaptor->priv->child_packings;
+      parent_priv = glade_widget_adaptor_get_instance_private (parent_adaptor);
+      for (packing_list = parent_priv->child_packings;
            packing_list; packing_list = packing_list->next)
         {
           GladeChildPacking *packing = packing_list->data;
@@ -533,17 +542,19 @@ gwa_inherit_child_packing (GladeWidgetAdaptor *adaptor)
 static void
 gwa_inherit_signals (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GladeWidgetAdaptor *parent_adaptor;
   GList *list, *node;
   GladeSignalDef *signal, *parent_signal;
 
   if ((parent_adaptor = gwa_get_parent_adaptor (adaptor)) != NULL)
     {
-      for (list = adaptor->priv->signals; list; list = list->next)
+      GladeWidgetAdaptorPrivate *parent_priv = glade_widget_adaptor_get_instance_private (adaptor);
+      for (list = priv->signals; list; list = list->next)
         {
           signal = list->data;
 
-          if ((node = g_list_find_custom (parent_adaptor->priv->signals, 
+          if ((node = g_list_find_custom (parent_priv->signals, 
                                           glade_signal_def_get_name (signal),
                                           (GCompareFunc) gwa_signal_find_comp)) != NULL)
             {
@@ -554,8 +565,7 @@ gwa_inherit_signals (GladeWidgetAdaptor *adaptor)
                *
                * Reset versioning in derived catalogs just once
                */
-              if (strcmp (adaptor->priv->catalog,
-                          parent_adaptor->priv->catalog))
+              if (strcmp (priv->catalog, parent_priv->catalog))
                 glade_signal_def_set_since (signal, 0, 0);
               else
                 glade_signal_def_set_since (signal, 
@@ -603,6 +613,7 @@ glade_widget_adaptor_constructor (GType                  type,
                                   guint                  n_construct_properties,
                                   GObjectConstructParam *construct_properties)
 {
+  GladeWidgetAdaptorPrivate *priv, *parent_priv;
   GladeWidgetAdaptor *adaptor, *parent_adaptor;
   GObject *ret_obj;
   GObjectClass *object_class;
@@ -613,22 +624,24 @@ glade_widget_adaptor_constructor (GType                  type,
       (type, n_construct_properties, construct_properties);
 
   adaptor = GLADE_WIDGET_ADAPTOR (ret_obj);
+  priv = glade_widget_adaptor_get_instance_private (adaptor);
   parent_adaptor = gwa_get_parent_adaptor (adaptor);
+  parent_priv = glade_widget_adaptor_get_instance_private (parent_adaptor);
 
-  if (adaptor->priv->type == G_TYPE_NONE)
+  if (priv->type == G_TYPE_NONE)
     g_warning ("Adaptor created without a type");
-  if (adaptor->priv->name == NULL)
+  if (priv->name == NULL)
     g_warning ("Adaptor created without a name");
 
   /* Build decorations */
-  if (!adaptor->priv->icon_name)
-    adaptor->priv->icon_name = g_strdup ("image-missing");
+  if (!priv->icon_name)
+    priv->icon_name = g_strdup ("image-missing");
 
   /* Let it leek */
-  if ((object_class = g_type_class_ref (adaptor->priv->type)))
+  if ((object_class = g_type_class_ref (priv->type)))
     {
       /* Build signals & properties */
-      adaptor->priv->signals = gwa_list_signals (adaptor, adaptor->priv->type);
+      priv->signals = gwa_list_signals (adaptor, priv->type);
 
       gwa_inherit_signals (adaptor);
       gwa_setup_properties (adaptor, object_class, FALSE);
@@ -636,18 +649,18 @@ glade_widget_adaptor_constructor (GType                  type,
     }
 
   /* Inherit packing defaults here */
-  adaptor->priv->child_packings = gwa_inherit_child_packing (adaptor);
+  priv->child_packings = gwa_inherit_child_packing (adaptor);
 
   /* Inherit special-child-type */
   if (parent_adaptor)
-    adaptor->priv->special_child_type =
-        parent_adaptor->priv->special_child_type ?
-        g_strdup (parent_adaptor->priv->special_child_type) : NULL;
+    priv->special_child_type =
+        parent_priv->special_child_type ?
+        g_strdup (parent_priv->special_child_type) : NULL;
 
 
   /* Reset version numbering if we're in a new catalog just once */
   if (parent_adaptor &&
-      strcmp (adaptor->priv->catalog, parent_adaptor->priv->catalog))
+      strcmp (priv->catalog, parent_priv->catalog))
     {
       GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->version_since_major =
           GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->version_since_minor = 0;
@@ -658,31 +671,30 @@ glade_widget_adaptor_constructor (GType                  type,
     {
       GList *l;
 
-      if (parent_adaptor->priv->actions)
+      if (parent_priv->actions)
         {
-          for (l = parent_adaptor->priv->actions; l; l = g_list_next (l))
+          for (l = parent_priv->actions; l; l = g_list_next (l))
             {
               GladeWidgetActionDef *child = glade_widget_action_def_clone (l->data);
-              adaptor->priv->actions = g_list_prepend (adaptor->priv->actions, child);
+              priv->actions = g_list_prepend (priv->actions, child);
             }
-          adaptor->priv->actions = g_list_reverse (adaptor->priv->actions);
+          priv->actions = g_list_reverse (priv->actions);
         }
 
-      if (parent_adaptor->priv->packing_actions)
+      if (parent_priv->packing_actions)
         {
-          for (l = parent_adaptor->priv->packing_actions; l; l = g_list_next (l))
+          for (l = parent_priv->packing_actions; l; l = g_list_next (l))
             {
               GladeWidgetActionDef *child = glade_widget_action_def_clone (l->data);
-              adaptor->priv->packing_actions =
-                  g_list_prepend (adaptor->priv->packing_actions, child);
+              priv->packing_actions = g_list_prepend (priv->packing_actions, child);
             }
-          adaptor->priv->packing_actions = g_list_reverse (adaptor->priv->packing_actions);
+          priv->packing_actions = g_list_reverse (priv->packing_actions);
         }
     }
 
   /* Copy parent internal children */
-  if (parent_adaptor && parent_adaptor->priv->internal_children)
-    adaptor->priv->internal_children = gwa_internal_children_clone (parent_adaptor->priv->internal_children);
+  if (parent_adaptor && parent_priv->internal_children)
+    priv->internal_children = gwa_internal_children_clone (parent_priv->internal_children);
 
   return ret_obj;
 }
@@ -724,56 +736,57 @@ static void
 glade_widget_adaptor_finalize (GObject *object)
 {
   GladeWidgetAdaptor *adaptor = GLADE_WIDGET_ADAPTOR (object);
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
 
   /* Free properties and signals */
-  g_list_free_full (adaptor->priv->properties,
+  g_list_free_full (priv->properties,
                     (GDestroyNotify) glade_property_def_free);
-  adaptor->priv->properties = NULL;
+  priv->properties = NULL;
 
-  g_list_free_full (adaptor->priv->packing_props,
+  g_list_free_full (priv->packing_props,
                     (GDestroyNotify) glade_property_def_free);
-  adaptor->priv->packing_props = NULL;
+  priv->packing_props = NULL;
 
-  g_list_free_full (adaptor->priv->signals,
+  g_list_free_full (priv->signals,
                     (GDestroyNotify) glade_signal_def_free);
-  adaptor->priv->signals = NULL;
+  priv->signals = NULL;
 
   /* Free child packings */
-  g_list_free_full (adaptor->priv->child_packings,
+  g_list_free_full (priv->child_packings,
                     (GDestroyNotify) gwa_child_packing_free);
-  adaptor->priv->child_packings = NULL;
+  priv->child_packings = NULL;
 
-  g_clear_pointer (&adaptor->priv->book, g_free);
-  g_clear_pointer (&adaptor->priv->catalog, g_free);
-  g_clear_pointer (&adaptor->priv->special_child_type, g_free);
+  g_clear_pointer (&priv->book, g_free);
+  g_clear_pointer (&priv->catalog, g_free);
+  g_clear_pointer (&priv->special_child_type, g_free);
 
-  g_clear_object (&adaptor->priv->cursor);
+  g_clear_object (&priv->cursor);
 
-  g_clear_pointer (&adaptor->priv->name, g_free);
-  g_clear_pointer (&adaptor->priv->generic_name, g_free);
-  g_clear_pointer (&adaptor->priv->title, g_free);
-  g_clear_pointer (&adaptor->priv->icon_name, g_free);
-  g_clear_pointer (&adaptor->priv->missing_icon, g_free);
+  g_clear_pointer (&priv->name, g_free);
+  g_clear_pointer (&priv->generic_name, g_free);
+  g_clear_pointer (&priv->title, g_free);
+  g_clear_pointer (&priv->icon_name, g_free);
+  g_clear_pointer (&priv->missing_icon, g_free);
 
-  if (adaptor->priv->actions)
+  if (priv->actions)
     {
-      g_list_free_full (adaptor->priv->actions,
+      g_list_free_full (priv->actions,
                         (GDestroyNotify) glade_widget_action_def_free);
-      adaptor->priv->actions = NULL;
+      priv->actions = NULL;
     }
 
-  if (adaptor->priv->packing_actions)
+  if (priv->packing_actions)
     {
-      g_list_free_full (adaptor->priv->packing_actions,
+      g_list_free_full (priv->packing_actions,
                         (GDestroyNotify) glade_widget_action_def_free);
-      adaptor->priv->packing_actions = NULL;
+      priv->packing_actions = NULL;
     }
 
-  if (adaptor->priv->internal_children)
+  if (priv->internal_children)
     {
-      g_list_free_full (adaptor->priv->internal_children,
+      g_list_free_full (priv->internal_children,
                         (GDestroyNotify) gwa_glade_internal_child_free);
-      adaptor->priv->internal_children = NULL;
+      priv->internal_children = NULL;
     }
 
   G_OBJECT_CLASS (glade_widget_adaptor_parent_class)->finalize (object);
@@ -785,49 +798,48 @@ glade_widget_adaptor_real_set_property (GObject      *object,
                                         const GValue *value,
                                         GParamSpec   *pspec)
 {
-  GladeWidgetAdaptor *adaptor;
-
-  adaptor = GLADE_WIDGET_ADAPTOR (object);
+  GladeWidgetAdaptor *adaptor = GLADE_WIDGET_ADAPTOR (object);
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
 
   switch (prop_id)
     {
       case PROP_NAME:
         /* assume once (construct-only) */
-        adaptor->priv->name = g_value_dup_string (value);
-        adaptor->priv->real_type = g_type_from_name (adaptor->priv->name);
+        priv->name = g_value_dup_string (value);
+        priv->real_type = g_type_from_name (priv->name);
         break;
       case PROP_ICON_NAME:
         /* assume once (construct-only) */
-        adaptor->priv->icon_name = g_value_dup_string (value);
+        priv->icon_name = g_value_dup_string (value);
         break;
       case PROP_TYPE:
-        adaptor->priv->type = g_value_get_gtype (value);
+        priv->type = g_value_get_gtype (value);
         break;
       case PROP_TITLE:
-        g_clear_pointer (&adaptor->priv->title, g_free);
-        adaptor->priv->title = g_value_dup_string (value);
+        g_clear_pointer (&priv->title, g_free);
+        priv->title = g_value_dup_string (value);
         break;
       case PROP_GENERIC_NAME:
-        g_clear_pointer (&adaptor->priv->generic_name, g_free);
-        adaptor->priv->generic_name = g_value_dup_string (value);
+        g_clear_pointer (&priv->generic_name, g_free);
+        priv->generic_name = g_value_dup_string (value);
         break;
       case PROP_CATALOG:
         /* assume once (construct-only) */
-        g_clear_pointer (&adaptor->priv->catalog, g_free);
-        adaptor->priv->catalog = g_value_dup_string (value);
+        g_clear_pointer (&priv->catalog, g_free);
+        priv->catalog = g_value_dup_string (value);
         break;
       case PROP_BOOK:
         /* assume once (construct-only) */
-        g_clear_pointer (&adaptor->priv->book, g_free);
-        adaptor->priv->book = g_value_dup_string (value);
+        g_clear_pointer (&priv->book, g_free);
+        priv->book = g_value_dup_string (value);
         break;
       case PROP_SPECIAL_TYPE:
         /* assume once (construct-only) */ 
-        g_clear_pointer (&adaptor->priv->special_child_type, g_free);
-        adaptor->priv->special_child_type = g_value_dup_string (value);
+        g_clear_pointer (&priv->special_child_type, g_free);
+        priv->special_child_type = g_value_dup_string (value);
         break;
       case PROP_QUERY:
-        adaptor->priv->query = g_value_get_boolean (value);
+        priv->query = g_value_get_boolean (value);
         break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -841,42 +853,40 @@ glade_widget_adaptor_real_get_property (GObject    *object,
                                         GValue     *value,
                                         GParamSpec *pspec)
 {
-
-  GladeWidgetAdaptor *adaptor;
-
-  adaptor = GLADE_WIDGET_ADAPTOR (object);
+  GladeWidgetAdaptor *adaptor = GLADE_WIDGET_ADAPTOR (object);
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
 
   switch (prop_id)
     {
       case PROP_NAME:
-        g_value_set_string (value, adaptor->priv->name);
+        g_value_set_string (value, priv->name);
         break;
       case PROP_TYPE:
-        g_value_set_gtype (value, adaptor->priv->type);
+        g_value_set_gtype (value, priv->type);
         break;
       case PROP_TITLE:
-        g_value_set_string (value, adaptor->priv->title);
+        g_value_set_string (value, priv->title);
         break;
       case PROP_GENERIC_NAME:
-        g_value_set_string (value, adaptor->priv->generic_name);
+        g_value_set_string (value, priv->generic_name);
         break;
       case PROP_ICON_NAME:
-        g_value_set_string (value, adaptor->priv->icon_name);
+        g_value_set_string (value, priv->icon_name);
         break;
       case PROP_CATALOG:
-        g_value_set_string (value, adaptor->priv->catalog);
+        g_value_set_string (value, priv->catalog);
         break;
       case PROP_BOOK:
-        g_value_set_string (value, adaptor->priv->book);
+        g_value_set_string (value, priv->book);
         break;
       case PROP_SPECIAL_TYPE:
-        g_value_set_string (value, adaptor->priv->special_child_type);
+        g_value_set_string (value, priv->special_child_type);
         break;
       case PROP_CURSOR:
-        g_value_set_pointer (value, adaptor->priv->cursor);
+        g_value_set_pointer (value, priv->cursor);
         break;
       case PROP_QUERY:
-        g_value_set_boolean (value, adaptor->priv->query);
+        g_value_set_boolean (value, priv->query);
         break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -902,7 +912,9 @@ glade_widget_adaptor_object_construct_object (GladeWidgetAdaptor *adaptor,
                                               guint               n_parameters,
                                               GParameter         *parameters)
 {
-  return g_object_newv (adaptor->priv->type, n_parameters, parameters);
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
+  return g_object_newv (priv->type, n_parameters, parameters);
 }
 G_GNUC_END_IGNORE_DEPRECATIONS
 
@@ -935,11 +947,13 @@ glade_widget_adaptor_object_add_verify (GladeWidgetAdaptor *adaptor,
                                         GObject            *child,
                                         gboolean            user_feedback)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   if (user_feedback)
     glade_util_ui_message (glade_app_get_window (),
                            GLADE_UI_INFO, NULL,
                            _("%s does not support adding any children."), 
-                           adaptor->priv->title);
+                           priv->title);
 
   return FALSE;
 }
@@ -967,8 +981,10 @@ glade_widget_adaptor_object_action_activate (GladeWidgetAdaptor *adaptor,
                                              GObject            *object,
                                              const gchar        *action_id)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_message ("No action_activate() support in adaptor %s for action '%s'",
-             adaptor->priv->name, action_id);
+             priv->name, action_id);
 }
 
 static void
@@ -977,8 +993,10 @@ glade_widget_adaptor_object_child_action_activate (GladeWidgetAdaptor *adaptor,
                                                    GObject            *object,
                                                    const gchar        *action_id)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_message ("No child_action_activate() support in adaptor %s for action '%s'",
-             adaptor->priv->name, action_id);
+             priv->name, action_id);
 }
 
 static void
@@ -1335,6 +1353,7 @@ static GList *
 glade_widget_adaptor_object_get_children (GladeWidgetAdaptor *adaptor,
                                           GObject *object)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GladeWidget *gwidget = glade_widget_get_from_gobject (object);
   GList *children = NULL;
   const gchar *name;
@@ -1350,9 +1369,10 @@ glade_widget_adaptor_object_get_children (GladeWidgetAdaptor *adaptor,
       if (parent)
         {
           GladeWidgetAdaptor *padaptor = glade_widget_get_adaptor (parent);
+          GladeWidgetAdaptorPrivate *parent_priv = glade_widget_adaptor_get_instance_private (padaptor);
           GladeInternalChild *internal;
 
-          internal = gwa_internal_child_find (padaptor->priv->internal_children,
+          internal = gwa_internal_child_find (parent_priv->internal_children,
                                               name);
 
           if (internal && internal->children)
@@ -1364,7 +1384,7 @@ glade_widget_adaptor_object_get_children (GladeWidgetAdaptor *adaptor,
     }
 
   glade_internal_child_append (adaptor, object,
-                               adaptor->priv->internal_children,
+                               priv->internal_children,
                                &children);
 
   return children;
@@ -1377,8 +1397,6 @@ glade_widget_adaptor_object_get_children (GladeWidgetAdaptor *adaptor,
 static void
 glade_widget_adaptor_init (GladeWidgetAdaptor *adaptor)
 {
-  adaptor->priv = glade_widget_adaptor_get_instance_private (adaptor);
-
 }
 
 static void
@@ -1764,17 +1782,21 @@ gwa_derive_adaptor_for_type (GType object_type, GWADerivedClassData *data)
 GType
 glade_widget_adaptor_get_object_type (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), G_TYPE_INVALID);
 
-  return adaptor->priv->type;
+  return priv->type;
 }
 
 const gchar *
 glade_widget_adaptor_get_name (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  return adaptor->priv->name;
+  return priv->name;
 }
 
 /**
@@ -1786,60 +1808,74 @@ glade_widget_adaptor_get_name (GladeWidgetAdaptor *adaptor)
 const gchar *
 glade_widget_adaptor_get_display_name (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  if (g_str_has_prefix (adaptor->priv->name, GLADE_WIDGET_ADAPTOR_INSTANTIABLE_PREFIX))
-    return &adaptor->priv->name[GLADE_WIDGET_ADAPTOR_INSTANTIABLE_PREFIX_LEN];
+  if (g_str_has_prefix (priv->name, GLADE_WIDGET_ADAPTOR_INSTANTIABLE_PREFIX))
+    return &priv->name[GLADE_WIDGET_ADAPTOR_INSTANTIABLE_PREFIX_LEN];
 
-  return adaptor->priv->name;
+  return priv->name;
 }
 
 const gchar *
 glade_widget_adaptor_get_generic_name (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  return adaptor->priv->generic_name;
+  return priv->generic_name;
 }
 
 const gchar *
 glade_widget_adaptor_get_title (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  return adaptor->priv->title;
+  return priv->title;
 }
 
 const gchar *
 glade_widget_adaptor_get_icon_name (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  return adaptor->priv->icon_name;
+  return priv->icon_name;
 }
 
 const gchar *
 glade_widget_adaptor_get_missing_icon (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  return adaptor->priv->missing_icon;
+  return priv->missing_icon;
 }
 
 const gchar *
 glade_widget_adaptor_get_catalog (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  return adaptor->priv->catalog;
+  return priv->catalog;
 }
 
 const gchar *
 glade_widget_adaptor_get_book (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  return adaptor->priv->book;
+  return priv->book;
 }
 
 /**
@@ -1851,9 +1887,11 @@ glade_widget_adaptor_get_book (GladeWidgetAdaptor *adaptor)
 const GList *
 glade_widget_adaptor_get_properties (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  return adaptor->priv->properties;
+  return priv->properties;
 }
 
 /**
@@ -1865,9 +1903,11 @@ glade_widget_adaptor_get_properties (GladeWidgetAdaptor *adaptor)
 const GList *
 glade_widget_adaptor_get_packing_props (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  return adaptor->priv->packing_props;
+  return priv->packing_props;
 }
 
 /**
@@ -1879,9 +1919,11 @@ glade_widget_adaptor_get_packing_props (GladeWidgetAdaptor *adaptor)
 const GList *
 glade_widget_adaptor_get_signals (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  return adaptor->priv->signals;
+  return priv->signals;
 }
 
 static void
@@ -1918,12 +1960,13 @@ glade_widget_adaptor_list_adaptors (void)
 void
 glade_widget_adaptor_register (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
 
   g_return_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor));
 
-  if (glade_widget_adaptor_get_by_name (adaptor->priv->name))
+  if (glade_widget_adaptor_get_by_name (priv->name))
     {
-      g_warning ("Adaptor class for '%s' already registered", adaptor->priv->name);
+      g_warning ("Adaptor class for '%s' already registered", priv->name);
       return;
     }
 
@@ -1931,7 +1974,7 @@ glade_widget_adaptor_register (GladeWidgetAdaptor *adaptor)
     adaptor_hash = g_hash_table_new_full (g_direct_hash, g_direct_equal,
                                           NULL, g_object_unref);
 
-  g_hash_table_insert (adaptor_hash, GSIZE_TO_POINTER (adaptor->priv->real_type), adaptor);
+  g_hash_table_insert (adaptor_hash, GSIZE_TO_POINTER (priv->real_type), adaptor);
 
   g_signal_emit_by_name (glade_app_get (), "widget-adaptor-registered", adaptor, NULL);
 }
@@ -1956,9 +1999,10 @@ static GladeChildPacking *
 glade_widget_adaptor_get_child_packing (GladeWidgetAdaptor *child_adaptor,
                                         const gchar        *parent_name)
 {
+  GladeWidgetAdaptorPrivate *child_priv = glade_widget_adaptor_get_instance_private (child_adaptor);
   GList *l;
 
-  for (l = child_adaptor->priv->child_packings; l; l = l->next)
+  for (l = child_priv->child_packings; l; l = l->next)
     {
       GladeChildPacking *packing;
 
@@ -1975,6 +2019,7 @@ static void
 gwa_set_packing_defaults_from_node (GladeWidgetAdaptor *adaptor,
                                     GladeXmlNode       *node)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GladeXmlNode *child;
 
   for (child = glade_xml_node_get_children (node);
@@ -1988,7 +2033,7 @@ gwa_set_packing_defaults_from_node (GladeWidgetAdaptor *adaptor,
         continue;
 
       if ((name = glade_xml_get_property_string_required
-           (child, GLADE_TAG_NAME, adaptor->priv->name)) == NULL)
+           (child, GLADE_TAG_NAME, priv->name)) == NULL)
         continue;
 
       /* If a GladeChildPacking exists for this parent, use it -
@@ -2001,8 +2046,7 @@ gwa_set_packing_defaults_from_node (GladeWidgetAdaptor *adaptor,
           packing = g_new0 (GladeChildPacking, 1);
           packing->parent_name = name;
 
-          adaptor->priv->child_packings =
-              g_list_prepend (adaptor->priv->child_packings, packing);
+          priv->child_packings = g_list_prepend (priv->child_packings, packing);
 
         }
 
@@ -2015,12 +2059,12 @@ gwa_set_packing_defaults_from_node (GladeWidgetAdaptor *adaptor,
 
           if ((id =
                glade_xml_get_property_string_required
-               (prop_node, GLADE_TAG_ID, adaptor->priv->name)) == NULL)
+               (prop_node, GLADE_TAG_ID, priv->name)) == NULL)
             continue;
 
           if ((value =
                glade_xml_get_property_string_required
-               (prop_node, GLADE_TAG_DEFAULT, adaptor->priv->name)) == NULL)
+               (prop_node, GLADE_TAG_DEFAULT, priv->name)) == NULL)
             {
               g_free (id);
               continue;
@@ -2042,8 +2086,7 @@ gwa_set_packing_defaults_from_node (GladeWidgetAdaptor *adaptor,
               def->value = value;
             }
 
-          adaptor->priv->child_packings =
-              g_list_prepend (adaptor->priv->child_packings, packing);
+          priv->child_packings = g_list_prepend (priv->child_packings, packing);
 
         }
     }
@@ -2057,6 +2100,7 @@ gwa_update_properties_from_node (GladeWidgetAdaptor *adaptor,
                                  const gchar        *domain,
                                  gboolean            is_packing)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GladeXmlNode *child;
 
   for (child = glade_xml_node_get_children (node);
@@ -2071,7 +2115,7 @@ gwa_update_properties_from_node (GladeWidgetAdaptor *adaptor,
         continue;
 
       id = glade_xml_get_property_string_required
-          (child, GLADE_TAG_ID, adaptor->priv->name);
+          (child, GLADE_TAG_ID, priv->name);
       if (!id)
         continue;
 
@@ -2106,12 +2150,12 @@ gwa_update_properties_from_node (GladeWidgetAdaptor *adaptor,
         }
 
       if ((updated = glade_property_def_update_from_node (child, 
-                                                          adaptor->priv->type,
+                                                          priv->type,
                                                           &property_def,
                                                           domain)) == FALSE)
         {
           g_warning ("failed to update %s property of %s from xml",
-                     id, adaptor->priv->name);
+                     id, priv->name);
           g_free (id);
           continue;
         }
@@ -2257,12 +2301,13 @@ gwa_update_properties_from_type (GladeWidgetAdaptor *adaptor,
                                  GList             **properties,
                                  gboolean            is_packing)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   gpointer object_class = g_type_class_ref (type);
   GParamSpec **specs = NULL, *spec;
   guint i, n_specs = 0;
 
   /* only GtkContainer child propeties can be introspected */
-  if (is_packing && !g_type_is_a (adaptor->priv->type, GTK_TYPE_CONTAINER))
+  if (is_packing && !g_type_is_a (priv->type, GTK_TYPE_CONTAINER))
     return;
 
   if (is_packing)
@@ -2294,7 +2339,7 @@ gwa_update_properties_from_type (GladeWidgetAdaptor *adaptor,
           /* Make sure we can tell properties apart by there 
            * owning class.
            */
-          spec->owner_type = adaptor->priv->type;
+          spec->owner_type = priv->type;
 
           /* Disable properties by default since the does not really implement them */
           glade_property_def_set_virtual (property_def, TRUE);
@@ -2323,6 +2368,7 @@ gwa_action_update_from_node (GladeWidgetAdaptor *adaptor,
                              const gchar        *domain,
                              gchar              *group_path)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GladeXmlNode *child;
   gchar *id, *label, *stock, *action_path;
   gboolean group, important;
@@ -2335,7 +2381,7 @@ gwa_action_update_from_node (GladeWidgetAdaptor *adaptor,
         continue;
 
       id = glade_xml_get_property_string_required
-          (child, GLADE_TAG_ID, adaptor->priv->name);
+          (child, GLADE_TAG_ID, priv->name);
       if (id == NULL)
         continue;
 
@@ -2383,6 +2429,7 @@ gwa_set_signals_from_node (GladeWidgetAdaptor *adaptor,
                            GladeXmlNode       *node,
                            const gchar        *domain)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GladeXmlNode   *child;
   GladeSignalDef *signal;
   GList          *list;
@@ -2398,7 +2445,7 @@ gwa_set_signals_from_node (GladeWidgetAdaptor *adaptor,
         continue;
 
       if ((list =
-           g_list_find_custom (adaptor->priv->signals, id,
+           g_list_find_custom (priv->signals, id,
                                (GCompareFunc) gwa_signal_find_comp)) != NULL)
         {
           signal = list->data;
@@ -2449,23 +2496,23 @@ gwa_extend_with_node (GladeWidgetAdaptor *adaptor,
                       GModule            *module,
                       const gchar        *domain)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GladeXmlNode *child;
   gchar *child_type;
 
   /* Override the special-child-type here */
   if ((child_type =
        glade_xml_get_value_string (node, GLADE_TAG_SPECIAL_CHILD_TYPE)) != NULL)
-    adaptor->priv->special_child_type =
-        (g_free (adaptor->priv->special_child_type), child_type);
+    priv->special_child_type = (g_free (priv->special_child_type), child_type);
 
   if ((child = glade_xml_search_child (node, GLADE_TAG_PROPERTIES)) != NULL)
     gwa_update_properties_from_node
-        (adaptor, child, module, &adaptor->priv->properties, domain, FALSE);
+        (adaptor, child, module, &priv->properties, domain, FALSE);
 
   if ((child =
        glade_xml_search_child (node, GLADE_TAG_PACKING_PROPERTIES)) != NULL)
     gwa_update_properties_from_node
-        (adaptor, child, module, &adaptor->priv->packing_props, domain, TRUE);
+        (adaptor, child, module, &priv->packing_props, domain, TRUE);
 
   if ((child =
        glade_xml_search_child (node, GLADE_TAG_PACKING_DEFAULTS)) != NULL)
@@ -2482,8 +2529,8 @@ gwa_extend_with_node (GladeWidgetAdaptor *adaptor,
     gwa_action_update_from_node (adaptor, TRUE, child, domain, NULL);
 
   if ((child = glade_xml_search_child (node, GLADE_TAG_INTERNAL_CHILDREN)))
-    adaptor->priv->internal_children = 
-      gwa_internal_children_update_from_node (adaptor->priv->internal_children,
+    priv->internal_children = 
+      gwa_internal_children_update_from_node (priv->internal_children,
                                               glade_xml_node_get_children (child));
 
   return TRUE;
@@ -2529,14 +2576,15 @@ create_icon_name_for_object_class (const gchar *class_name,
 static void
 gwa_displayable_values_check (GladeWidgetAdaptor *adaptor, gboolean packing)
 {
-  GList *l, *p = (packing) ? adaptor->priv->packing_props : adaptor->priv->properties;
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+  GList *l, *p = (packing) ? priv->packing_props : priv->properties;
 
   for (l = p; l; l = g_list_next (l))
     {
       GladePropertyDef *def = l->data;
       GParamSpec       *pspec = glade_property_def_get_pspec (def);
 
-      if (adaptor->priv->type == pspec->owner_type && 
+      if (priv->type == pspec->owner_type && 
           glade_property_def_is_visible (def) &&
           (G_IS_PARAM_SPEC_ENUM (pspec) ||
            G_IS_PARAM_SPEC_FLAGS (pspec)) &&
@@ -2547,7 +2595,7 @@ gwa_displayable_values_check (GladeWidgetAdaptor *adaptor, gboolean packing)
           /* We do not need displayable values if the property is not visible */
           if (g_getenv (GLADE_ENV_TESTING) == NULL)
             g_message ("No displayable values for %sproperty %s::%s",
-                       (packing) ? "child " : "", adaptor->priv->name, 
+                       (packing) ? "child " : "", priv->name, 
                        glade_property_def_id (def));
         }
     }
@@ -2704,6 +2752,7 @@ glade_widget_adaptor_from_catalog (GladeCatalog *catalog,
                                    GladeXmlNode *class_node,
                                    GModule      *module)
 {
+  GladeWidgetAdaptorPrivate *priv;
   GladeWidgetAdaptor *adaptor = NULL;
   gchar *name, *generic_name, *icon_name, *adaptor_icon_name, *adaptor_name,
       *func_name, *template;
@@ -2770,10 +2819,11 @@ glade_widget_adaptor_from_catalog (GladeCatalog *catalog,
         {
           GladeWidgetAdaptor *a =
               glade_widget_adaptor_get_by_name (g_type_name (type_iter));
+          GladeWidgetAdaptorPrivate *a_priv = glade_widget_adaptor_get_instance_private (a);
 
-          if (a && a->priv->real_type != a->priv->type)
+          if (a && a_priv->real_type != a_priv->type)
             {
-              object_type = generate_type (name, g_type_name (a->priv->type));
+              object_type = generate_type (name, g_type_name (a_priv->type));
               break;
             }
         }
@@ -2838,12 +2888,13 @@ glade_widget_adaptor_from_catalog (GladeCatalog *catalog,
     {
       GladeWidgetAdaptor *parent =
           glade_widget_adaptor_get_parent_adaptor_by_type (object_type);
+      GladeWidgetAdaptorPrivate *parent_priv = glade_widget_adaptor_get_instance_private (parent);
 
       /* Save the desired name */
       missing_icon = adaptor_icon_name;
 
-      adaptor_icon_name = g_strdup ((parent && parent->priv->icon_name) ?
-                                    parent->priv->icon_name : DEFAULT_ICON_NAME);
+      adaptor_icon_name = g_strdup ((parent && parent_priv->icon_name) ?
+                                    parent_priv->icon_name : DEFAULT_ICON_NAME);
 
     }
 
@@ -2853,8 +2904,8 @@ glade_widget_adaptor_from_catalog (GladeCatalog *catalog,
                           "catalog", glade_catalog_get_name (catalog),
                           "generic-name", generic_name,
                           "icon-name", adaptor_icon_name, NULL);
-
-  adaptor->priv->missing_icon = missing_icon;
+  priv = glade_widget_adaptor_get_instance_private (adaptor);
+  priv->missing_icon = missing_icon;
 
   g_free (generic_name);
   g_free (icon_name);
@@ -2870,7 +2921,7 @@ glade_widget_adaptor_from_catalog (GladeCatalog *catalog,
     {
       g_warning ("Class '%s' declared without a '%s' attribute", name,
                  GLADE_TAG_TITLE);
-      adaptor->priv->title = g_strdup (name);
+      priv->title = g_strdup (name);
     }
   else
     {
@@ -2879,18 +2930,18 @@ glade_widget_adaptor_from_catalog (GladeCatalog *catalog,
       if (translated_title != title)
         {
           /* gettext owns translated_title */
-          adaptor->priv->title = g_strdup (translated_title);
+          priv->title = g_strdup (translated_title);
           g_free (title);
         }
       else
         {
-          adaptor->priv->title = title;
+          priv->title = title;
         }
     }
 
-  if (G_TYPE_IS_INSTANTIATABLE (adaptor->priv->type) &&
-      G_TYPE_IS_ABSTRACT (adaptor->priv->type) == FALSE &&
-      adaptor->priv->generic_name == NULL)
+  if (G_TYPE_IS_INSTANTIATABLE (priv->type) &&
+      G_TYPE_IS_ABSTRACT (priv->type) == FALSE &&
+      priv->generic_name == NULL)
     {
       g_warning ("Instantiatable class '%s' built without a '%s'",
                  name, GLADE_TAG_GENERIC_NAME);
@@ -2902,29 +2953,29 @@ glade_widget_adaptor_from_catalog (GladeCatalog *catalog,
    * So we need to add the properties and signals from the real class
    * even though they wont be aplied at runtime.
    */
-  if (adaptor->priv->type != adaptor->priv->real_type)
+  if (priv->type != priv->real_type)
     {
-      if (adaptor->priv->signals)
-        g_list_free_full (adaptor->priv->signals,
+      if (priv->signals)
+        g_list_free_full (priv->signals,
                           (GDestroyNotify) glade_signal_def_free);
 
-      adaptor->priv->signals = gwa_list_signals (adaptor, adaptor->priv->real_type);
+      priv->signals = gwa_list_signals (adaptor, priv->real_type);
 
-      gwa_update_properties_from_type (adaptor, adaptor->priv->real_type,
-                                       &adaptor->priv->properties, FALSE);
-      gwa_update_properties_from_type (adaptor, adaptor->priv->real_type,
-                                       &adaptor->priv->packing_props, TRUE);
+      gwa_update_properties_from_type (adaptor, priv->real_type,
+                                       &priv->properties, FALSE);
+      gwa_update_properties_from_type (adaptor, priv->real_type,
+                                       &priv->packing_props, TRUE);
     }
 
   /* Perform a stoopid fallback just incase */
-  if (adaptor->priv->generic_name == NULL)
-    adaptor->priv->generic_name = g_strdup ("widget");
+  if (priv->generic_name == NULL)
+    priv->generic_name = g_strdup ("widget");
 
-  g_clear_pointer (&adaptor->priv->catalog, g_free);
-  adaptor->priv->catalog = g_strdup (glade_catalog_get_name (catalog));
+  g_clear_pointer (&priv->catalog, g_free);
+  priv->catalog = g_strdup (glade_catalog_get_name (catalog));
 
   if (glade_catalog_get_book (catalog))
-    adaptor->priv->book = g_strdup (glade_catalog_get_book (catalog));
+    priv->book = g_strdup (glade_catalog_get_book (catalog));
 
   gwa_extend_with_node (adaptor, class_node, module,
                         glade_catalog_get_domain (catalog));
@@ -2932,21 +2983,21 @@ glade_widget_adaptor_from_catalog (GladeCatalog *catalog,
   /* Finalize the icon and overlay it if it's deprecated */
   if (GWA_DEPRECATED (adaptor))
     {
-      gchar *deprecated_icon = generate_deprecated_icon (adaptor->priv->icon_name);
+      gchar *deprecated_icon = generate_deprecated_icon (priv->icon_name);
 
-      g_free (adaptor->priv->icon_name);
-      adaptor->priv->icon_name = deprecated_icon;
+      g_free (priv->icon_name);
+      priv->icon_name = deprecated_icon;
     }
 
   /* Postpone creating the cursor until we have the right graphic for it */
   gwa_create_cursor (adaptor);
 
   /* Set default weight on properties */
-  for (parent_type = adaptor->priv->type;
+  for (parent_type = priv->type;
        parent_type != 0; parent_type = g_type_parent (parent_type))
     {
-      glade_property_def_set_weights (&adaptor->priv->properties, parent_type);
-      glade_property_def_set_weights (&adaptor->priv->packing_props, parent_type);
+      glade_property_def_set_weights (&priv->properties, parent_type);
+      glade_property_def_set_weights (&priv->packing_props, parent_type);
     }
 
   gwa_displayable_values_check (adaptor, FALSE);
@@ -3146,6 +3197,7 @@ GladeWidgetAdaptor *
 glade_widget_adaptor_from_pspec (GladeWidgetAdaptor *adaptor,
                                  GParamSpec         *pspec)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GladeWidgetAdaptor *spec_adaptor;
   GType spec_type = pspec->owner_type;
 
@@ -3154,9 +3206,9 @@ glade_widget_adaptor_from_pspec (GladeWidgetAdaptor *adaptor,
 
   spec_adaptor = glade_widget_adaptor_get_by_type (pspec->owner_type);
 
-  g_return_val_if_fail (g_type_is_a (adaptor->priv->type, pspec->owner_type), NULL);
+  g_return_val_if_fail (g_type_is_a (priv->type, pspec->owner_type), NULL);
 
-  while (spec_type && !spec_adaptor && spec_type != adaptor->priv->type)
+  while (spec_type && !spec_adaptor && spec_type != priv->type)
     {
       spec_type = g_type_parent (spec_type);
       spec_adaptor = glade_widget_adaptor_get_by_type (spec_type);
@@ -3181,10 +3233,11 @@ GladePropertyDef *
 glade_widget_adaptor_get_property_def (GladeWidgetAdaptor *adaptor,
                                        const gchar        *name)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GList *list;
   GladePropertyDef *pdef;
 
-  for (list = adaptor->priv->properties; list && list->data; list = list->next)
+  for (list = priv->properties; list && list->data; list = list->next)
     {
       pdef = list->data;
       if (strcmp (glade_property_def_id (pdef), name) == 0)
@@ -3206,10 +3259,11 @@ GladePropertyDef *
 glade_widget_adaptor_get_pack_property_def (GladeWidgetAdaptor *adaptor,
                                             const gchar        *name)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GList *list;
   GladePropertyDef *pdef;
 
-  for (list = adaptor->priv->packing_props; list && list->data; list = list->next)
+  for (list = priv->packing_props; list && list->data; list = list->next)
     {
       pdef = list->data;
       if (strcmp (glade_property_def_id (pdef), name) == 0)
@@ -3233,6 +3287,7 @@ glade_widget_adaptor_default_params (GladeWidgetAdaptor *adaptor,
                                      gboolean            construct,
                                      guint              *n_params)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GArray *params;
   GObjectClass *oclass;
   GParamSpec **pspec;
@@ -3244,7 +3299,7 @@ glade_widget_adaptor_default_params (GladeWidgetAdaptor *adaptor,
 
   /* As a slight optimization, we never unref the class
    */
-  oclass = g_type_class_ref (adaptor->priv->type);
+  oclass = g_type_class_ref (priv->type);
   pspec = g_object_class_list_properties (oclass, &n_props);
   params = g_array_new (FALSE, FALSE, sizeof (GParameter));
 
@@ -3274,8 +3329,7 @@ glade_widget_adaptor_default_params (GladeWidgetAdaptor *adaptor,
       if (g_value_type_compatible (G_VALUE_TYPE (glade_property_def_get_default (pdef)),
                                    pspec[i]->value_type) == FALSE)
         {
-          g_critical ("Type mismatch on %s property of %s",
-                      parameter.name, adaptor->priv->name);
+          g_critical ("Type mismatch on %s property of %s", parameter.name, priv->name);
           continue;
         }
 
@@ -3345,7 +3399,8 @@ gwa_internal_children_create (GladeWidgetAdaptor *adaptor,
                               GList              *children,
                               GladeCreateReason  reason)
 {
-  gchar *parent_name = adaptor->priv->generic_name;
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+  gchar *parent_name = priv->generic_name;
   GladeWidget *gobject = glade_widget_get_from_gobject (object);
   GList *l;
 
@@ -3386,13 +3441,15 @@ glade_widget_adaptor_post_create (GladeWidgetAdaptor *adaptor,
                                   GObject            *object,
                                   GladeCreateReason   reason)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor));
   g_return_if_fail (G_IS_OBJECT (object));
-  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (object), adaptor->priv->type));
+  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (object), priv->type));
 
   /* Create internal widgets */
-  if (adaptor->priv->internal_children)
-      gwa_internal_children_create (adaptor, object, object, adaptor->priv->internal_children, reason);
+  if (priv->internal_children)
+      gwa_internal_children_create (adaptor, object, object, priv->internal_children, reason);
   
   /* Run post_create in 2 stages, one that chains up and all class adaptors
    * in the hierarchy get a peek, another that is used to setup placeholders
@@ -3423,17 +3480,19 @@ glade_widget_adaptor_get_internal_child (GladeWidgetAdaptor *adaptor,
                                          GObject            *object,
                                          const gchar        *internal_name)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
   g_return_val_if_fail (G_IS_OBJECT (object), NULL);
   g_return_val_if_fail (internal_name != NULL, NULL);
-  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (object), adaptor->priv->type),
+  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (object), priv->type),
                         NULL);
 
   if (GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->get_internal_child)
     return GLADE_WIDGET_ADAPTOR_GET_CLASS
         (adaptor)->get_internal_child (adaptor, object, internal_name);
   else
-    g_critical ("No get_internal_child() support in adaptor %s", adaptor->priv->name);
+    g_critical ("No get_internal_child() support in adaptor %s", priv->name);
 
   return NULL;
 }
@@ -3455,10 +3514,12 @@ glade_widget_adaptor_set_property (GladeWidgetAdaptor *adaptor,
                                    const gchar        *property_name,
                                    const GValue       *value)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor));
   g_return_if_fail (G_IS_OBJECT (object));
   g_return_if_fail (property_name != NULL && value != NULL);
-  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (object), adaptor->priv->type));
+  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (object), priv->type));
 
   /* The base class provides an implementation */
   GLADE_WIDGET_ADAPTOR_GET_CLASS
@@ -3482,10 +3543,12 @@ glade_widget_adaptor_get_property (GladeWidgetAdaptor *adaptor,
                                    const gchar        *property_name,
                                    GValue             *value)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor));
   g_return_if_fail (G_IS_OBJECT (object));
   g_return_if_fail (property_name != NULL && value != NULL);
-  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (object), adaptor->priv->type));
+  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (object), priv->type));
 
   /* The base class provides an implementation */
   GLADE_WIDGET_ADAPTOR_GET_CLASS
@@ -3515,10 +3578,12 @@ glade_widget_adaptor_verify_property (GladeWidgetAdaptor *adaptor,
                                       const gchar        *property_name,
                                       const GValue       *value)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), FALSE);
   g_return_val_if_fail (G_IS_OBJECT (object), FALSE);
   g_return_val_if_fail (property_name != NULL && value != NULL, FALSE);
-  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (object), adaptor->priv->type),
+  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (object), priv->type),
                         FALSE);
 
   if (GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->verify_property)
@@ -3550,10 +3615,12 @@ glade_widget_adaptor_add_verify (GladeWidgetAdaptor *adaptor,
                                  GObject            *child,
                                  gboolean            user_feedback)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), FALSE);
   g_return_val_if_fail (G_IS_OBJECT (container), FALSE);
   g_return_val_if_fail (G_IS_OBJECT (child), FALSE);
-  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (container), adaptor->priv->type), FALSE);
+  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (container), priv->type), FALSE);
 
   return GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->add_verify (adaptor, container, child, user_feedback);
 }
@@ -3571,15 +3638,17 @@ glade_widget_adaptor_add (GladeWidgetAdaptor *adaptor,
                           GObject            *container,
                           GObject            *child)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor));
   g_return_if_fail (G_IS_OBJECT (container));
   g_return_if_fail (G_IS_OBJECT (child));
-  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), adaptor->priv->type));
+  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), priv->type));
 
   if (GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->add)
     GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->add (adaptor, container, child);
   else
-    g_critical ("No add() support in adaptor %s", adaptor->priv->name);
+    g_critical ("No add() support in adaptor %s", priv->name);
 }
 
 
@@ -3596,16 +3665,18 @@ glade_widget_adaptor_remove (GladeWidgetAdaptor *adaptor,
                              GObject            *container,
                              GObject            *child)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor));
   g_return_if_fail (G_IS_OBJECT (container));
   g_return_if_fail (G_IS_OBJECT (child));
-  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), adaptor->priv->type));
+  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), priv->type));
 
   if (GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->remove)
     GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->remove (adaptor, container,
                                                       child);
   else
-    g_critical ("No remove() support in adaptor %s", adaptor->priv->name);
+    g_critical ("No remove() support in adaptor %s", priv->name);
 }
 
 /**
@@ -3621,10 +3692,11 @@ GList *
 glade_widget_adaptor_get_children (GladeWidgetAdaptor *adaptor,
                                    GObject            *container)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
   g_return_val_if_fail (G_IS_OBJECT (container), NULL);
-  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (container), adaptor->priv->type),
-                        NULL);
+  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (container), priv->type), NULL);
 
   return GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->get_children (adaptor, container);
 }
@@ -3677,11 +3749,13 @@ glade_widget_adaptor_child_set_property (GladeWidgetAdaptor *adaptor,
                                          const gchar        *property_name,
                                          const GValue       *value)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor));
   g_return_if_fail (G_IS_OBJECT (container));
   g_return_if_fail (G_IS_OBJECT (child));
   g_return_if_fail (property_name != NULL && value != NULL);
-  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), adaptor->priv->type));
+  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), priv->type));
 
   /* XXX Valgrind says that the above 'g_type_is_a' line allocates uninitialized stack memory
    * that is later used in glade_gtk_box_child_set_property, why ? */
@@ -3691,7 +3765,7 @@ glade_widget_adaptor_child_set_property (GladeWidgetAdaptor *adaptor,
         (adaptor)->child_set_property (adaptor, container, child,
                                        property_name, value);
   else
-    g_critical ("No child_set_property() support in adaptor %s", adaptor->priv->name);
+    g_critical ("No child_set_property() support in adaptor %s", priv->name);
 
 }
 
@@ -3712,18 +3786,20 @@ glade_widget_adaptor_child_get_property (GladeWidgetAdaptor *adaptor,
                                          const gchar        *property_name,
                                          GValue             *value)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor));
   g_return_if_fail (G_IS_OBJECT (container));
   g_return_if_fail (G_IS_OBJECT (child));
   g_return_if_fail (property_name != NULL && value != NULL);
-  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), adaptor->priv->type));
+  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), priv->type));
 
   if (GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->child_get_property)
     GLADE_WIDGET_ADAPTOR_GET_CLASS
         (adaptor)->child_get_property (adaptor, container, child,
                                        property_name, value);
   else
-    g_critical ("No child_set_property() support in adaptor %s", adaptor->priv->name);
+    g_critical ("No child_set_property() support in adaptor %s", priv->name);
 }
 
 /**
@@ -3750,11 +3826,13 @@ glade_widget_adaptor_child_verify_property (GladeWidgetAdaptor *adaptor,
                                             const gchar        *property_name,
                                             const GValue       *value)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), FALSE);
   g_return_val_if_fail (G_IS_OBJECT (container), FALSE);
   g_return_val_if_fail (G_IS_OBJECT (child), FALSE);
   g_return_val_if_fail (property_name != NULL && value != NULL, FALSE);
-  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (container), adaptor->priv->type),
+  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (container), priv->type),
                         FALSE);
 
   if (GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->child_verify_property)
@@ -3784,17 +3862,19 @@ glade_widget_adaptor_replace_child (GladeWidgetAdaptor *adaptor,
                                     GObject            *old_obj,
                                     GObject            *new_obj)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor));
   g_return_if_fail (G_IS_OBJECT (container));
   g_return_if_fail (G_IS_OBJECT (old_obj));
   g_return_if_fail (G_IS_OBJECT (new_obj));
-  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), adaptor->priv->type));
+  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), priv->type));
 
   if (GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->replace_child)
     GLADE_WIDGET_ADAPTOR_GET_CLASS
         (adaptor)->replace_child (adaptor, container, old_obj, new_obj);
   else
-    g_critical ("No replace_child() support in adaptor %s", adaptor->priv->name);
+    g_critical ("No replace_child() support in adaptor %s", priv->name);
 }
 
 /**
@@ -3807,15 +3887,16 @@ glade_widget_adaptor_replace_child (GladeWidgetAdaptor *adaptor,
 gboolean
 glade_widget_adaptor_query (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GladePropertyDef *pdef;
   GList *l;
 
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), FALSE);
 
-  if (!adaptor->priv->query)
+  if (!priv->query)
     return FALSE;
 
-  for (l = adaptor->priv->properties; l; l = l->next)
+  for (l = priv->properties; l; l = l->next)
     {
       pdef = l->data;
 
@@ -3842,6 +3923,7 @@ glade_widget_adaptor_get_packing_default (GladeWidgetAdaptor *child_adaptor,
                                           GladeWidgetAdaptor *container_adaptor,
                                           const gchar        *id)
 {
+  GladeWidgetAdaptorPrivate *container_priv = glade_widget_adaptor_get_instance_private (container_adaptor);
   GladeChildPacking *packing = NULL;
   GList *l;
 
@@ -3850,7 +3932,7 @@ glade_widget_adaptor_get_packing_default (GladeWidgetAdaptor *child_adaptor,
 
   if ((packing =
        glade_widget_adaptor_get_child_packing (child_adaptor,
-                                               container_adaptor->priv->name)) !=
+                                               container_priv->name)) !=
       NULL)
     {
       for (l = packing->packing_defaults; l; l = l->next)
@@ -3988,10 +4070,12 @@ glade_widget_adaptor_action_add (GladeWidgetAdaptor *adaptor,
                                  const gchar        *stock,
                                  gboolean            important)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), FALSE);
   g_return_val_if_fail (action_path != NULL, FALSE);
 
-  return glade_widget_adaptor_action_add_real (&adaptor->priv->actions,
+  return glade_widget_adaptor_action_add_real (&priv->actions,
                                                action_path,
                                                label, stock, important);
 }
@@ -4016,10 +4100,12 @@ glade_widget_adaptor_pack_action_add (GladeWidgetAdaptor *adaptor,
                                       const gchar        *stock,
                                       gboolean            important)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), FALSE);
   g_return_val_if_fail (action_path != NULL, FALSE);
 
-  return glade_widget_adaptor_action_add_real (&adaptor->priv->packing_actions,
+  return glade_widget_adaptor_action_add_real (&priv->packing_actions,
                                                action_path,
                                                label, stock, important);
 }
@@ -4059,10 +4145,12 @@ gboolean
 glade_widget_adaptor_action_remove (GladeWidgetAdaptor *adaptor,
                                     const gchar        *action_path)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), FALSE);
   g_return_val_if_fail (action_path != NULL, FALSE);
 
-  return glade_widget_adaptor_action_remove_real (&adaptor->priv->actions,
+  return glade_widget_adaptor_action_remove_real (&priv->actions,
                                                   action_path);
 }
 
@@ -4079,10 +4167,12 @@ gboolean
 glade_widget_adaptor_pack_action_remove (GladeWidgetAdaptor *adaptor,
                                          const gchar        *action_path)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), FALSE);
   g_return_val_if_fail (action_path != NULL, FALSE);
 
-  return glade_widget_adaptor_action_remove_real (&adaptor->priv->packing_actions,
+  return glade_widget_adaptor_action_remove_real (&priv->packing_actions,
                                                   action_path);
 }
 
@@ -4097,11 +4187,12 @@ glade_widget_adaptor_pack_action_remove (GladeWidgetAdaptor *adaptor,
 GList *
 glade_widget_adaptor_actions_new (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GList *l, *list = NULL;
 
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  for (l = adaptor->priv->actions; l; l = g_list_next (l))
+  for (l = priv->actions; l; l = g_list_next (l))
     {
       GladeWidgetActionDef *action = l->data;
       GObject              *obj = g_object_new (GLADE_TYPE_WIDGET_ACTION,
@@ -4123,11 +4214,12 @@ glade_widget_adaptor_actions_new (GladeWidgetAdaptor *adaptor)
 GList *
 glade_widget_adaptor_pack_actions_new (GladeWidgetAdaptor *adaptor)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GList *l, *list = NULL;
 
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
 
-  for (l = adaptor->priv->packing_actions; l; l = g_list_next (l))
+  for (l = priv->packing_actions; l; l = g_list_next (l))
     {
       GladeWidgetActionDef *action = l->data;
       GObject              *obj = g_object_new (GLADE_TYPE_WIDGET_ACTION,
@@ -4151,9 +4243,11 @@ glade_widget_adaptor_action_activate (GladeWidgetAdaptor *adaptor,
                                       GObject            *object,
                                       const gchar        *action_path)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor));
   g_return_if_fail (G_IS_OBJECT (object));
-  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (object), adaptor->priv->type));
+  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (object), priv->type));
 
   GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->action_activate (adaptor, object,
                                                              action_path);
@@ -4174,10 +4268,12 @@ glade_widget_adaptor_child_action_activate (GladeWidgetAdaptor *adaptor,
                                             GObject            *object,
                                             const gchar        *action_path)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor));
   g_return_if_fail (G_IS_OBJECT (container));
   g_return_if_fail (G_IS_OBJECT (object));
-  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), adaptor->priv->type));
+  g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (container), priv->type));
 
   GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->child_action_activate (adaptor,
                                                                    container,
@@ -4201,10 +4297,11 @@ glade_widget_adaptor_action_submenu (GladeWidgetAdaptor *adaptor,
                                      GObject            *object,
                                      const gchar        *action_path)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
+
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
   g_return_val_if_fail (G_IS_OBJECT (object), NULL);
-  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (object), adaptor->priv->type),
-                        NULL);
+  g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (object), priv->type), NULL);
 
   if (GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->action_submenu)
     return GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->action_submenu (adaptor,
@@ -4463,13 +4560,14 @@ GladeSignalDef *
 glade_widget_adaptor_get_signal_def (GladeWidgetAdaptor *adaptor,
                                      const gchar        *name)
 {
+  GladeWidgetAdaptorPrivate *priv = glade_widget_adaptor_get_instance_private (adaptor);
   GList *list;
   GladeSignalDef *signal;
 
   g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
   g_return_val_if_fail (name != NULL, NULL);
 
-  for (list = adaptor->priv->signals; list; list = list->next)
+  for (list = priv->signals; list; list = list->next)
     {
       signal = list->data;
       if (!strcmp (glade_signal_def_get_name (signal), name))
diff --git a/gladeui/glade-widget-adaptor.h b/gladeui/glade-widget-adaptor.h
index 67868e3e..fad75988 100644
--- a/gladeui/glade-widget-adaptor.h
+++ b/gladeui/glade-widget-adaptor.h
@@ -13,15 +13,8 @@
 
 G_BEGIN_DECLS
 
-#define GLADE_TYPE_WIDGET_ADAPTOR            (glade_widget_adaptor_get_type())
-#define GLADE_WIDGET_ADAPTOR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_WIDGET_ADAPTOR, 
GladeWidgetAdaptor))
-#define GLADE_WIDGET_ADAPTOR_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_WIDGET_ADAPTOR, 
GladeWidgetAdaptorClass))
-#define GLADE_IS_WIDGET_ADAPTOR(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_WIDGET_ADAPTOR))
-#define GLADE_IS_WIDGET_ADAPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_WIDGET_ADAPTOR))
-#define GLADE_WIDGET_ADAPTOR_GET_CLASS(o)    (G_TYPE_INSTANCE_GET_CLASS ((o), GLADE_WIDGET_ADAPTOR, 
GladeWidgetAdaptorClass))
-
-typedef struct _GladeWidgetAdaptorPrivate GladeWidgetAdaptorPrivate;
-typedef struct _GladeWidgetAdaptorClass   GladeWidgetAdaptorClass;
+#define GLADE_TYPE_WIDGET_ADAPTOR glade_widget_adaptor_get_type ()
+G_DECLARE_DERIVABLE_TYPE (GladeWidgetAdaptor, glade_widget_adaptor, GLADE, WIDGET_ADAPTOR, GObject)
 
 /**
  * GWA_DEPRECATED:
@@ -615,20 +608,6 @@ typedef gchar   *(* GladeStringFromValueFunc) (GladeWidgetAdaptor *adaptor,
 typedef GladeEditable *(* GladeCreateEditableFunc) (GladeWidgetAdaptor   *adaptor,
                                                     GladeEditorPageType   type);
 
-
-/* Note that everything that must be processed at the creation of
- * every instance is managed on the instance structure, and everywhere
- * that we want to take advantage of inheritance is handled in the class
- * structure.
- */
-struct _GladeWidgetAdaptor
-{
-  GObject      parent_instance;
-
-  GladeWidgetAdaptorPrivate *priv;
-
-};
-
 struct _GladeWidgetAdaptorClass
 {
   GObjectClass               parent_class;
@@ -739,9 +718,6 @@ struct _GladeWidgetAdaptorClass
 #define glade_widget_adaptor_create_widget(adaptor, query, ...) \
     (glade_widget_adaptor_create_widget_real (query, "adaptor", adaptor, __VA_ARGS__));
 
-
-GType                 glade_widget_adaptor_get_type         (void) G_GNUC_CONST;
-
 GType                 glade_widget_adaptor_get_object_type  (GladeWidgetAdaptor   *adaptor);
 const gchar *glade_widget_adaptor_get_name         (GladeWidgetAdaptor   *adaptor);
 const gchar *glade_widget_adaptor_get_generic_name (GladeWidgetAdaptor   *adaptor);


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