From 83850367606612fdd508a703537b1b2641051dc1 Mon Sep 17 00:00:00 2001 From: Pete Johanson Date: Fri, 5 May 2006 03:13:17 +0000 Subject: [PATCH] 2006-05-04 Peter Johanson * gtk/glue/cellrenderer.c: Revert r59683, as it causes issues for overrides calling base.GetSize (), etc. svn path=/trunk/gtk-sharp/; revision=60291 --- ChangeLog | 5 +++++ gtk/glue/cellrenderer.c | 15 +++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 37428c3f4..2869daa33 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-05-04 Peter Johanson + + * gtk/glue/cellrenderer.c: Revert r59683, as it causes issues for + overrides calling base.GetSize (), etc. + 2006-05-03 Mike Kestner * gdk/Drawable.custom : remove manual DrawPoints impl. diff --git a/gtk/glue/cellrenderer.c b/gtk/glue/cellrenderer.c index 940c60ff1..7a06f20d1 100644 --- a/gtk/glue/cellrenderer.c +++ b/gtk/glue/cellrenderer.c @@ -26,8 +26,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); @@ -46,8 +47,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); @@ -66,8 +68,9 @@ 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); + 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; }