aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2002-02-13 03:56:10 +0800
committerChris Lahey <clahey@src.gnome.org>2002-02-13 03:56:10 +0800
commit3ab71d197466ac576bfccbabca86d879880a189f (patch)
treeb5f504d5efb99010c2587d03cbc10cebaa063881 /widgets
parent6185f96a81ac5dc49cc443fe17cfe6900a0d65dc (diff)
downloadgsoc2013-evolution-3ab71d197466ac576bfccbabca86d879880a189f.tar
gsoc2013-evolution-3ab71d197466ac576bfccbabca86d879880a189f.tar.gz
gsoc2013-evolution-3ab71d197466ac576bfccbabca86d879880a189f.tar.bz2
gsoc2013-evolution-3ab71d197466ac576bfccbabca86d879880a189f.tar.lz
gsoc2013-evolution-3ab71d197466ac576bfccbabca86d879880a189f.tar.xz
gsoc2013-evolution-3ab71d197466ac576bfccbabca86d879880a189f.tar.zst
gsoc2013-evolution-3ab71d197466ac576bfccbabca86d879880a189f.zip
Cancel tooltip timeouts here.
2002-02-12 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_unrealize): Cancel tooltip timeouts here. svn path=/trunk/; revision=15686
Diffstat (limited to 'widgets')
-rw-r--r--widgets/table/e-table-item.c33
1 files changed, 25 insertions, 8 deletions
diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c
index 927e0f434b..d835ae6d11 100644
--- a/widgets/table/e-table-item.c
+++ b/widgets/table/e-table-item.c
@@ -1373,15 +1373,18 @@ eti_destroy (GtkObject *object)
eti->height_cache_idle_count = 0;
e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(eti)->canvas));
- if (eti->tooltip->background)
- gdk_color_free (eti->tooltip->background);
- if (eti->tooltip->foreground)
- gdk_color_free (eti->tooltip->foreground);
- if (eti->tooltip->timer) {
- gtk_timeout_remove (eti->tooltip->timer);
- eti->tooltip->timer = 0;
+ if (eti->tooltip) {
+ if (eti->tooltip->background)
+ gdk_color_free (eti->tooltip->background);
+ if (eti->tooltip->foreground)
+ gdk_color_free (eti->tooltip->foreground);
+ if (eti->tooltip->timer) {
+ gtk_timeout_remove (eti->tooltip->timer);
+ eti->tooltip->timer = 0;
+ }
+ g_free (eti->tooltip);
}
- g_free (eti->tooltip);
+ eti->tooltip = NULL;
if (GTK_OBJECT_CLASS (eti_parent_class)->destroy)
(*GTK_OBJECT_CLASS (eti_parent_class)->destroy) (object);
@@ -1673,6 +1676,20 @@ eti_unrealize (GnomeCanvasItem *item)
eti->height_cache = NULL;
eti->height_cache_idle_count = 0;
+ e_canvas_hide_tooltip (E_CANVAS(GNOME_CANVAS_ITEM(eti)->canvas));
+ if (eti->tooltip->background) {
+ gdk_color_free (eti->tooltip->background);
+ eti->tooltip->background = NULL;
+ }
+ if (eti->tooltip->foreground) {
+ gdk_color_free (eti->tooltip->foreground);
+ eti->tooltip->foreground = NULL;
+ }
+ if (eti->tooltip->timer) {
+ gtk_timeout_remove (eti->tooltip->timer);
+ eti->tooltip->timer = 0;
+ }
+
gdk_gc_unref (eti->fill_gc);
eti->fill_gc = NULL;
gdk_gc_unref (eti->grid_gc);