From 88b0c8138afa59939e01615b66bda1a98d6b6ff3 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Fri, 8 Feb 2002 19:22:41 +0000 Subject: Call scroll_off and in e-tree.c hover_off. 2002-02-08 Christopher James Lahey * e-table.c (et_unrealize), e-tree.c (et_unrealize): Call scroll_off and in e-tree.c hover_off. svn path=/trunk/; revision=15618 --- widgets/table/e-table.c | 26 ++++++++++++++++++-------- widgets/table/e-tree.c | 11 +++++++++++ 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c index 065e821b4f..5b25880b63 100644 --- a/widgets/table/e-table.c +++ b/widgets/table/e-table.c @@ -63,7 +63,7 @@ #define e_table_item_leave_edit_(x) (e_table_item_leave_edit((x))) #endif -static GtkObjectClass *e_table_parent_class; +static GtkObjectClass *parent_class; enum { CURSOR_CHANGE, @@ -282,7 +282,16 @@ et_destroy (GtkObject *object) g_free(et->click_to_add_message); - (*e_table_parent_class->destroy)(object); + (*parent_class->destroy)(object); +} + +static void +et_unrealize (GtkWidget *widget) +{ + scroll_off (E_TABLE (widget)); + + if (GTK_WIDGET_CLASS (parent_class)->unrealize) + GTK_WIDGET_CLASS (parent_class)->unrealize (widget); } static void @@ -2732,19 +2741,20 @@ e_table_class_init (ETableClass *class) GtkWidgetClass *widget_class; GtkContainerClass *container_class; - object_class = (GtkObjectClass *) class; - widget_class = (GtkWidgetClass *) class; - container_class = (GtkContainerClass *) class; + object_class = (GtkObjectClass *) class; + widget_class = (GtkWidgetClass *) class; + container_class = (GtkContainerClass *) class; - e_table_parent_class = gtk_type_class (PARENT_TYPE); + parent_class = gtk_type_class (PARENT_TYPE); object_class->destroy = et_destroy; object_class->set_arg = et_set_arg; object_class->get_arg = et_get_arg; - widget_class->grab_focus = et_grab_focus; + widget_class->grab_focus = et_grab_focus; + widget_class->unrealize = et_unrealize; - container_class->focus = et_focus; + container_class->focus = et_focus; class->cursor_change = NULL; class->cursor_activated = NULL; diff --git a/widgets/table/e-tree.c b/widgets/table/e-tree.c index 5e301aabf0..d007be9c19 100644 --- a/widgets/table/e-tree.c +++ b/widgets/table/e-tree.c @@ -374,6 +374,16 @@ et_destroy (GtkObject *object) (*parent_class->destroy)(object); } +static void +et_unrealize (GtkWidget *widget) +{ + scroll_off (E_TREE (widget)); + hover_off (E_TREE (widget)); + + if (GTK_WIDGET_CLASS (parent_class)->unrealize) + GTK_WIDGET_CLASS (parent_class)->unrealize (widget); +} + static void e_tree_init (GtkObject *object) { @@ -2774,6 +2784,7 @@ e_tree_class_init (ETreeClass *class) object_class->get_arg = et_get_arg; widget_class->grab_focus = et_grab_focus; + widget_class->unrealize = et_unrealize; container_class->focus = et_focus; -- cgit