stack: Use new private model, remove priv pointer

This commit is contained in:
Alexander Larsson 2013-07-02 13:43:20 +02:00
parent 09d22284f7
commit 06a808cf2a
2 changed files with 63 additions and 57 deletions

View File

@ -94,7 +94,7 @@ struct _GtkStackChildInfo {
gchar *icon_name; gchar *icon_name;
}; };
struct _GtkStackPrivate { typedef struct {
GList *children; GList *children;
GdkWindow* bin_window; GdkWindow* bin_window;
@ -116,7 +116,7 @@ struct _GtkStackPrivate {
gint64 end_time; gint64 end_time;
GtkStackTransitionType active_transition_type; GtkStackTransitionType active_transition_type;
}; } GtkStackPrivate;
static void gtk_stack_add (GtkContainer *widget, static void gtk_stack_add (GtkContainer *widget,
GtkWidget *child); GtkWidget *child);
@ -172,13 +172,11 @@ static gint get_bin_window_x (GtkStack *stack,
static gint get_bin_window_y (GtkStack *stack, static gint get_bin_window_y (GtkStack *stack,
GtkAllocation *allocation); GtkAllocation *allocation);
G_DEFINE_TYPE(GtkStack, gtk_stack, GTK_TYPE_CONTAINER); G_DEFINE_TYPE_WITH_PRIVATE(GtkStack, gtk_stack, GTK_TYPE_CONTAINER);
static void static void
gtk_stack_init (GtkStack *stack) gtk_stack_init (GtkStack *stack)
{ {
stack->priv = G_TYPE_INSTANCE_GET_PRIVATE (stack, GTK_TYPE_STACK, GtkStackPrivate);
gtk_widget_set_has_window ((GtkWidget*) stack, TRUE); gtk_widget_set_has_window ((GtkWidget*) stack, TRUE);
gtk_widget_set_redraw_on_allocate ((GtkWidget*) stack, TRUE); gtk_widget_set_redraw_on_allocate ((GtkWidget*) stack, TRUE);
} }
@ -187,7 +185,7 @@ static void
gtk_stack_finalize (GObject *obj) gtk_stack_finalize (GObject *obj)
{ {
GtkStack *stack = GTK_STACK (obj); GtkStack *stack = GTK_STACK (obj);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
gtk_stack_unschedule_ticks (stack); gtk_stack_unschedule_ticks (stack);
@ -204,7 +202,7 @@ gtk_stack_get_property (GObject *object,
GParamSpec *pspec) GParamSpec *pspec)
{ {
GtkStack *stack = GTK_STACK (object); GtkStack *stack = GTK_STACK (object);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
switch (property_id) switch (property_id)
{ {
@ -264,7 +262,7 @@ static void
gtk_stack_realize (GtkWidget *widget) gtk_stack_realize (GtkWidget *widget)
{ {
GtkStack *stack = GTK_STACK (widget); GtkStack *stack = GTK_STACK (widget);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkAllocation allocation; GtkAllocation allocation;
GdkWindowAttr attributes = { 0 }; GdkWindowAttr attributes = { 0 };
GdkWindowAttributesType attributes_mask; GdkWindowAttributesType attributes_mask;
@ -315,7 +313,7 @@ static void
gtk_stack_unrealize (GtkWidget *widget) gtk_stack_unrealize (GtkWidget *widget)
{ {
GtkStack *stack = GTK_STACK (widget); GtkStack *stack = GTK_STACK (widget);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
gtk_widget_unregister_window (widget, priv->bin_window); gtk_widget_unregister_window (widget, priv->bin_window);
gdk_window_destroy (priv->bin_window); gdk_window_destroy (priv->bin_window);
@ -418,8 +416,6 @@ gtk_stack_class_init (GtkStackClass *klass)
P_("The index of the child in the parent"), P_("The index of the child in the parent"),
-1, G_MAXINT, 0, -1, G_MAXINT, 0,
GTK_PARAM_READWRITE)); GTK_PARAM_READWRITE));
g_type_class_add_private (klass, sizeof (GtkStackPrivate));
} }
/** /**
@ -441,7 +437,7 @@ static GtkStackChildInfo *
find_child_info_for_widget (GtkStack *stack, find_child_info_for_widget (GtkStack *stack,
GtkWidget *child) GtkWidget *child)
{ {
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *info; GtkStackChildInfo *info;
GList *l; GList *l;
@ -460,15 +456,13 @@ reorder_child (GtkStack *stack,
GtkWidget *child, GtkWidget *child,
gint position) gint position)
{ {
GtkStackPrivate *priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GList *l; GList *l;
GList *old_link = NULL; GList *old_link = NULL;
GList *new_link = NULL; GList *new_link = NULL;
GtkStackChildInfo *child_info = NULL; GtkStackChildInfo *child_info = NULL;
gint num = 0; gint num = 0;
priv = stack->priv;
l = priv->children; l = priv->children;
/* Loop to find the old position and link of child, new link of child and /* Loop to find the old position and link of child, new link of child and
@ -517,6 +511,7 @@ gtk_stack_get_child_property (GtkContainer *container,
GParamSpec *pspec) GParamSpec *pspec)
{ {
GtkStack *stack = GTK_STACK (container); GtkStack *stack = GTK_STACK (container);
GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *info; GtkStackChildInfo *info;
GList *list; GList *list;
guint i; guint i;
@ -544,7 +539,7 @@ gtk_stack_get_child_property (GtkContainer *container,
case CHILD_PROP_POSITION: case CHILD_PROP_POSITION:
i = 0; i = 0;
for (list = stack->priv->children; list != NULL; list = g_list_next (list)) for (list = priv->children; list != NULL; list = g_list_next (list))
{ {
if (info == list->data) if (info == list->data)
break; break;
@ -567,7 +562,7 @@ gtk_stack_set_child_property (GtkContainer *container,
GParamSpec *pspec) GParamSpec *pspec)
{ {
GtkStack *stack = GTK_STACK (container); GtkStack *stack = GTK_STACK (container);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *info; GtkStackChildInfo *info;
GtkStackChildInfo *info2; GtkStackChildInfo *info2;
gchar *name; gchar *name;
@ -640,7 +635,7 @@ static gint
get_bin_window_x (GtkStack *stack, get_bin_window_x (GtkStack *stack,
GtkAllocation *allocation) GtkAllocation *allocation)
{ {
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
int x = 0; int x = 0;
if (priv->transition_pos < 1.0) if (priv->transition_pos < 1.0)
@ -658,7 +653,7 @@ static gint
get_bin_window_y (GtkStack *stack, get_bin_window_y (GtkStack *stack,
GtkAllocation *allocation) GtkAllocation *allocation)
{ {
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
int y = 0; int y = 0;
if (priv->transition_pos < 1.0) if (priv->transition_pos < 1.0)
@ -676,7 +671,7 @@ static gboolean
gtk_stack_set_transition_position (GtkStack *stack, gtk_stack_set_transition_position (GtkStack *stack,
gdouble pos) gdouble pos)
{ {
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
gboolean done; gboolean done;
priv->transition_pos = pos; priv->transition_pos = pos;
@ -724,7 +719,7 @@ gtk_stack_transition_cb (GtkStack *stack,
GdkFrameClock *frame_clock, GdkFrameClock *frame_clock,
gpointer user_data) gpointer user_data)
{ {
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
gint64 now; gint64 now;
gdouble t; gdouble t;
@ -752,7 +747,7 @@ gtk_stack_transition_cb (GtkStack *stack,
static void static void
gtk_stack_schedule_ticks (GtkStack *stack) gtk_stack_schedule_ticks (GtkStack *stack)
{ {
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
if (priv->tick_id == 0) if (priv->tick_id == 0)
{ {
@ -764,7 +759,7 @@ gtk_stack_schedule_ticks (GtkStack *stack)
static void static void
gtk_stack_unschedule_ticks (GtkStack *stack) gtk_stack_unschedule_ticks (GtkStack *stack)
{ {
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
if (priv->tick_id != 0) if (priv->tick_id != 0)
{ {
@ -793,7 +788,7 @@ gtk_stack_start_transition (GtkStack *stack,
GtkStackTransitionType transition_type, GtkStackTransitionType transition_type,
guint transition_duration) guint transition_duration)
{ {
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkWidget *widget = GTK_WIDGET (stack); GtkWidget *widget = GTK_WIDGET (stack);
gboolean animations_enabled; gboolean animations_enabled;
@ -829,7 +824,7 @@ set_visible_child (GtkStack *stack,
GtkStackTransitionType transition_type, GtkStackTransitionType transition_type,
guint transition_duration) guint transition_duration)
{ {
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *info; GtkStackChildInfo *info;
GtkWidget *widget = GTK_WIDGET (stack); GtkWidget *widget = GTK_WIDGET (stack);
GList *l; GList *l;
@ -918,7 +913,7 @@ stack_child_visibility_notify_cb (GObject *obj,
gpointer user_data) gpointer user_data)
{ {
GtkStack *stack = GTK_STACK (user_data); GtkStack *stack = GTK_STACK (user_data);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkWidget *child = GTK_WIDGET (obj); GtkWidget *child = GTK_WIDGET (obj);
GtkStackChildInfo *child_info; GtkStackChildInfo *child_info;
@ -998,7 +993,7 @@ gtk_stack_add (GtkContainer *container,
GtkWidget *child) GtkWidget *child)
{ {
GtkStack *stack = GTK_STACK (container); GtkStack *stack = GTK_STACK (container);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *child_info; GtkStackChildInfo *child_info;
g_return_if_fail (child != NULL); g_return_if_fail (child != NULL);
@ -1034,7 +1029,7 @@ gtk_stack_remove (GtkContainer *container,
GtkWidget *child) GtkWidget *child)
{ {
GtkStack *stack = GTK_STACK (container); GtkStack *stack = GTK_STACK (container);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *child_info; GtkStackChildInfo *child_info;
gboolean was_visible; gboolean was_visible;
@ -1085,12 +1080,10 @@ void
gtk_stack_set_homogeneous (GtkStack *stack, gtk_stack_set_homogeneous (GtkStack *stack,
gboolean homogeneous) gboolean homogeneous)
{ {
GtkStackPrivate *priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
g_return_if_fail (GTK_IS_STACK (stack)); g_return_if_fail (GTK_IS_STACK (stack));
priv = stack->priv;
homogeneous = !!homogeneous; homogeneous = !!homogeneous;
if (priv->homogeneous == homogeneous) if (priv->homogeneous == homogeneous)
@ -1118,9 +1111,11 @@ gtk_stack_set_homogeneous (GtkStack *stack,
gboolean gboolean
gtk_stack_get_homogeneous (GtkStack *stack) gtk_stack_get_homogeneous (GtkStack *stack)
{ {
GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
g_return_val_if_fail (GTK_IS_STACK (stack), FALSE); g_return_val_if_fail (GTK_IS_STACK (stack), FALSE);
return stack->priv->homogeneous; return priv->homogeneous;
} }
/** /**
@ -1137,9 +1132,11 @@ gtk_stack_get_homogeneous (GtkStack *stack)
guint guint
gtk_stack_get_transition_duration (GtkStack *stack) gtk_stack_get_transition_duration (GtkStack *stack)
{ {
GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
g_return_val_if_fail (GTK_IS_STACK (stack), 0); g_return_val_if_fail (GTK_IS_STACK (stack), 0);
return stack->priv->transition_duration; return priv->transition_duration;
} }
/** /**
@ -1156,9 +1153,11 @@ void
gtk_stack_set_transition_duration (GtkStack *stack, gtk_stack_set_transition_duration (GtkStack *stack,
guint duration) guint duration)
{ {
GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
g_return_if_fail (GTK_IS_STACK (stack)); g_return_if_fail (GTK_IS_STACK (stack));
stack->priv->transition_duration = duration; priv->transition_duration = duration;
g_object_notify (G_OBJECT (stack), "transition-duration"); g_object_notify (G_OBJECT (stack), "transition-duration");
} }
@ -1176,9 +1175,11 @@ gtk_stack_set_transition_duration (GtkStack *stack,
GtkStackTransitionType GtkStackTransitionType
gtk_stack_get_transition_type (GtkStack *stack) gtk_stack_get_transition_type (GtkStack *stack)
{ {
GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
g_return_val_if_fail (GTK_IS_STACK (stack), GTK_STACK_TRANSITION_TYPE_NONE); g_return_val_if_fail (GTK_IS_STACK (stack), GTK_STACK_TRANSITION_TYPE_NONE);
return stack->priv->transition_type; return priv->transition_type;
} }
/** /**
@ -1200,9 +1201,11 @@ void
gtk_stack_set_transition_type (GtkStack *stack, gtk_stack_set_transition_type (GtkStack *stack,
GtkStackTransitionType transition) GtkStackTransitionType transition)
{ {
GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
g_return_if_fail (GTK_IS_STACK (stack)); g_return_if_fail (GTK_IS_STACK (stack));
stack->priv->transition_type = transition; priv->transition_type = transition;
g_object_notify (G_OBJECT (stack), "transition-type"); g_object_notify (G_OBJECT (stack), "transition-type");
} }
@ -1220,9 +1223,11 @@ gtk_stack_set_transition_type (GtkStack *stack,
GtkWidget * GtkWidget *
gtk_stack_get_visible_child (GtkStack *stack) gtk_stack_get_visible_child (GtkStack *stack)
{ {
GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
g_return_val_if_fail (GTK_IS_STACK (stack), NULL); g_return_val_if_fail (GTK_IS_STACK (stack), NULL);
return stack->priv->visible_child ? stack->priv->visible_child->widget : NULL; return priv->visible_child ? priv->visible_child->widget : NULL;
} }
/** /**
@ -1239,10 +1244,12 @@ gtk_stack_get_visible_child (GtkStack *stack)
const gchar * const gchar *
gtk_stack_get_visible_child_name (GtkStack *stack) gtk_stack_get_visible_child_name (GtkStack *stack)
{ {
GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
g_return_val_if_fail (GTK_IS_STACK (stack), NULL); g_return_val_if_fail (GTK_IS_STACK (stack), NULL);
if (stack->priv->visible_child) if (priv->visible_child)
return stack->priv->visible_child->name; return priv->visible_child->name;
return NULL; return NULL;
} }
@ -1265,6 +1272,7 @@ void
gtk_stack_set_visible_child (GtkStack *stack, gtk_stack_set_visible_child (GtkStack *stack,
GtkWidget *child) GtkWidget *child)
{ {
GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *child_info; GtkStackChildInfo *child_info;
g_return_if_fail (GTK_IS_STACK (stack)); g_return_if_fail (GTK_IS_STACK (stack));
@ -1276,8 +1284,8 @@ gtk_stack_set_visible_child (GtkStack *stack,
if (gtk_widget_get_visible (child_info->widget)) if (gtk_widget_get_visible (child_info->widget))
set_visible_child (stack, child_info, set_visible_child (stack, child_info,
stack->priv->transition_type, priv->transition_type,
stack->priv->transition_duration); priv->transition_duration);
} }
/** /**
@ -1298,7 +1306,9 @@ void
gtk_stack_set_visible_child_name (GtkStack *stack, gtk_stack_set_visible_child_name (GtkStack *stack,
const gchar *name) const gchar *name)
{ {
gtk_stack_set_visible_child_full (stack, name, stack->priv->transition_type); GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
gtk_stack_set_visible_child_full (stack, name, priv->transition_type);
} }
/** /**
@ -1316,15 +1326,13 @@ gtk_stack_set_visible_child_full (GtkStack *stack,
const gchar *name, const gchar *name,
GtkStackTransitionType transition) GtkStackTransitionType transition)
{ {
GtkStackPrivate *priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *child_info, *info; GtkStackChildInfo *child_info, *info;
GList *l; GList *l;
g_return_if_fail (GTK_IS_STACK (stack)); g_return_if_fail (GTK_IS_STACK (stack));
g_return_if_fail (name != NULL); g_return_if_fail (name != NULL);
priv = stack->priv;
child_info = NULL; child_info = NULL;
for (l = priv->children; l != NULL; l = l->next) for (l = priv->children; l != NULL; l = l->next)
{ {
@ -1348,7 +1356,7 @@ gtk_stack_forall (GtkContainer *container,
gpointer callback_data) gpointer callback_data)
{ {
GtkStack *stack = GTK_STACK (container); GtkStack *stack = GTK_STACK (container);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *child_info; GtkStackChildInfo *child_info;
GList *l; GList *l;
@ -1368,7 +1376,7 @@ gtk_stack_compute_expand (GtkWidget *widget,
gboolean *vexpand_p) gboolean *vexpand_p)
{ {
GtkStack *stack = GTK_STACK (widget); GtkStack *stack = GTK_STACK (widget);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
gboolean hexpand, vexpand; gboolean hexpand, vexpand;
GtkStackChildInfo *child_info; GtkStackChildInfo *child_info;
GtkWidget *child; GtkWidget *child;
@ -1402,7 +1410,7 @@ gtk_stack_draw_crossfade (GtkWidget *widget,
cairo_t *cr) cairo_t *cr)
{ {
GtkStack *stack = GTK_STACK (widget); GtkStack *stack = GTK_STACK (widget);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
if (priv->last_visible_surface) if (priv->last_visible_surface)
{ {
@ -1428,7 +1436,7 @@ gtk_stack_draw_slide (GtkWidget *widget,
cairo_t *cr) cairo_t *cr)
{ {
GtkStack *stack = GTK_STACK (widget); GtkStack *stack = GTK_STACK (widget);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkAllocation allocation; GtkAllocation allocation;
gint x = 0; gint x = 0;
gint y = 0; gint y = 0;
@ -1470,7 +1478,7 @@ gtk_stack_draw (GtkWidget *widget,
cairo_t *cr) cairo_t *cr)
{ {
GtkStack *stack = GTK_STACK (widget); GtkStack *stack = GTK_STACK (widget);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
cairo_t *pattern_cr; cairo_t *pattern_cr;
if (priv->visible_child) if (priv->visible_child)
@ -1526,7 +1534,7 @@ gtk_stack_size_allocate (GtkWidget *widget,
GtkAllocation *allocation) GtkAllocation *allocation)
{ {
GtkStack *stack = GTK_STACK (widget); GtkStack *stack = GTK_STACK (widget);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkAllocation child_allocation; GtkAllocation child_allocation;
g_return_if_fail (allocation != NULL); g_return_if_fail (allocation != NULL);
@ -1560,7 +1568,7 @@ gtk_stack_get_preferred_height (GtkWidget *widget,
gint *natural_height) gint *natural_height)
{ {
GtkStack *stack = GTK_STACK (widget); GtkStack *stack = GTK_STACK (widget);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *child_info; GtkStackChildInfo *child_info;
GtkWidget *child; GtkWidget *child;
gint child_min, child_nat; gint child_min, child_nat;
@ -1601,7 +1609,7 @@ gtk_stack_get_preferred_height_for_width (GtkWidget *widget,
gint *natural_height) gint *natural_height)
{ {
GtkStack *stack = GTK_STACK (widget); GtkStack *stack = GTK_STACK (widget);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *child_info; GtkStackChildInfo *child_info;
GtkWidget *child; GtkWidget *child;
gint child_min, child_nat; gint child_min, child_nat;
@ -1641,7 +1649,7 @@ gtk_stack_get_preferred_width (GtkWidget *widget,
gint *natural_width) gint *natural_width)
{ {
GtkStack *stack = GTK_STACK (widget); GtkStack *stack = GTK_STACK (widget);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *child_info; GtkStackChildInfo *child_info;
GtkWidget *child; GtkWidget *child;
gint child_min, child_nat; gint child_min, child_nat;
@ -1682,7 +1690,7 @@ gtk_stack_get_preferred_width_for_height (GtkWidget *widget,
gint *natural_width) gint *natural_width)
{ {
GtkStack *stack = GTK_STACK (widget); GtkStack *stack = GTK_STACK (widget);
GtkStackPrivate *priv = stack->priv; GtkStackPrivate *priv = gtk_stack_get_instance_private (stack);
GtkStackChildInfo *child_info; GtkStackChildInfo *child_info;
GtkWidget *child; GtkWidget *child;
gint child_min, child_nat; gint child_min, child_nat;

View File

@ -36,7 +36,6 @@ G_BEGIN_DECLS
typedef struct _GtkStack GtkStack; typedef struct _GtkStack GtkStack;
typedef struct _GtkStackClass GtkStackClass; typedef struct _GtkStackClass GtkStackClass;
typedef struct _GtkStackPrivate GtkStackPrivate;
typedef enum { typedef enum {
GTK_STACK_TRANSITION_TYPE_NONE, GTK_STACK_TRANSITION_TYPE_NONE,
@ -51,7 +50,6 @@ typedef enum {
struct _GtkStack { struct _GtkStack {
GtkContainer parent_instance; GtkContainer parent_instance;
GtkStackPrivate *priv;
}; };
struct _GtkStackClass { struct _GtkStackClass {