From 6698da1e41e2ec31de1fe811e67e568952a90cbc Mon Sep 17 00:00:00 2001 From: Mike Kestner Date: Wed, 21 Feb 2007 19:19:09 +0000 Subject: [PATCH] 2007-02-21 Peter Johanson * gtk/glue/cellrenderer.c: revert to previous implementation of _base_ functions to maintain backward-stability. [Fixes #77949] svn path=/trunk/gtk-sharp/; revision=73271 --- ChangeLog | 5 +++++ gtk/glue/cellrenderer.c | 17 ++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7cc6f8870..d6a476819 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-02-21 Peter Johanson + + * gtk/glue/cellrenderer.c: revert to previous implementation of + _base_ functions to maintain backward-stability. [Fixes #77949] + 2007-02-16 Peter Johanson * gtk/CellRenderer*.custom: new custom overrides for VMs. diff --git a/gtk/glue/cellrenderer.c b/gtk/glue/cellrenderer.c index 0c03d29ac..387fcd21c 100644 --- a/gtk/glue/cellrenderer.c +++ b/gtk/glue/cellrenderer.c @@ -37,8 +37,9 @@ void gtksharp_cellrenderer_base_get_size (GtkCellRenderer *cell, GtkWidget *widg void gtksharp_cellrenderer_base_get_size (GtkCellRenderer *cell, GtkWidget *widget, GdkRectangle *cell_area, gint *x_offset, gint *y_offset, gint *width, gint *height) { - if (GTK_CELL_RENDERER_GET_CLASS (cell)->get_size) - GTK_CELL_RENDERER_GET_CLASS (cell)->get_size (cell, widget, cell_area, x_offset, y_offset, width, height); + GtkCellRendererClass *parent = g_type_class_peek_parent (G_OBJECT_GET_CLASS (cell)); + if (parent->get_size) + (*parent->get_size) (cell, widget, cell_area, x_offset, y_offset, width, height); } void gtksharp_cellrenderer_override_get_size (GType gtype, gpointer cb); @@ -66,8 +67,9 @@ void gtksharp_cellrenderer_base_render (GtkCellRenderer *cell, GdkDrawable *wind void gtksharp_cellrenderer_base_render (GtkCellRenderer *cell, GdkDrawable *window, GtkWidget *widget, GdkRectangle *background_area, GdkRectangle *cell_area, GdkRectangle *expose_area, GtkCellRendererState flags) { - if (GTK_CELL_RENDERER_GET_CLASS (cell)->render) - GTK_CELL_RENDERER_GET_CLASS (cell)->render (cell, window, widget, background_area, cell_area, expose_area, flags); + GtkCellRendererClass *parent = g_type_class_peek_parent (G_OBJECT_GET_CLASS (cell)); + if (parent->render) + (*parent->render) (cell, window, widget, background_area, cell_area, expose_area, flags); } void gtksharp_cellrenderer_override_render (GType gtype, gpointer cb); @@ -95,9 +97,10 @@ GtkCellEditable * gtksharp_cellrenderer_base_start_editing (GtkCellRenderer *cel GtkCellEditable * gtksharp_cellrenderer_base_start_editing (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const gchar *path, GdkRectangle *background_area, GdkRectangle *cell_area, GtkCellRendererState flags) { - if (GTK_CELL_RENDERER_GET_CLASS (cell)->start_editing) - return GTK_CELL_RENDERER_GET_CLASS (cell)->start_editing (cell, event, widget, path, background_area, cell_area, flags); - return NULL; + GtkCellRendererClass *parent = g_type_class_peek_parent (G_OBJECT_GET_CLASS (cell)); + if (parent->start_editing) + return (*parent->start_editing) (cell, event, widget, path, background_area, cell_area, flags); + return NULL; }