diff options
-rw-r--r-- | e-util/ChangeLog | 4 | ||||
-rw-r--r-- | e-util/e-canvas.c | 11 | ||||
-rw-r--r-- | widgets/misc/e-canvas.c | 11 |
3 files changed, 26 insertions, 0 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog index 984739812c..a4d3beeaae 100644 --- a/e-util/ChangeLog +++ b/e-util/ChangeLog @@ -1,3 +1,7 @@ +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * e-canvas.c: Remove reflow idle when being destroyed. + 2000-05-06 Christopher James Lahey <clahey@helixcode.com> * e-html-utils.c: Got rid of some warnings. diff --git a/e-util/e-canvas.c b/e-util/e-canvas.c index 8ca7d0f9b1..534e3fb1e8 100644 --- a/e-util/e-canvas.c +++ b/e-util/e-canvas.c @@ -23,6 +23,7 @@ #include <gnome.h> #include "e-canvas.h" static void e_canvas_init (ECanvas *card); +static void e_canvas_destroy (GtkObject *object); static void e_canvas_class_init (ECanvasClass *klass); static void e_canvas_realize (GtkWidget *widget); static gint e_canvas_key (GtkWidget *widget, @@ -82,6 +83,8 @@ e_canvas_class_init (ECanvasClass *klass) parent_class = gtk_type_class (gnome_canvas_get_type ()); + object_class->destroy = e_canvas_destroy; + widget_class->key_press_event = e_canvas_key; widget_class->key_release_event = e_canvas_key; widget_class->focus_in_event = e_canvas_focus_in; @@ -106,6 +109,14 @@ e_canvas_init (ECanvas *canvas) { } +static void +e_canvas_destroy (GtkObject *object) +{ + ECanvas *canvas = E_CANVAS(object); + if (canvas->idle_id) + g_source_remove(canvas->idle_id); +} + GtkWidget * e_canvas_new () { diff --git a/widgets/misc/e-canvas.c b/widgets/misc/e-canvas.c index 8ca7d0f9b1..534e3fb1e8 100644 --- a/widgets/misc/e-canvas.c +++ b/widgets/misc/e-canvas.c @@ -23,6 +23,7 @@ #include <gnome.h> #include "e-canvas.h" static void e_canvas_init (ECanvas *card); +static void e_canvas_destroy (GtkObject *object); static void e_canvas_class_init (ECanvasClass *klass); static void e_canvas_realize (GtkWidget *widget); static gint e_canvas_key (GtkWidget *widget, @@ -82,6 +83,8 @@ e_canvas_class_init (ECanvasClass *klass) parent_class = gtk_type_class (gnome_canvas_get_type ()); + object_class->destroy = e_canvas_destroy; + widget_class->key_press_event = e_canvas_key; widget_class->key_release_event = e_canvas_key; widget_class->focus_in_event = e_canvas_focus_in; @@ -106,6 +109,14 @@ e_canvas_init (ECanvas *canvas) { } +static void +e_canvas_destroy (GtkObject *object) +{ + ECanvas *canvas = E_CANVAS(object); + if (canvas->idle_id) + g_source_remove(canvas->idle_id); +} + GtkWidget * e_canvas_new () { |