diff options
author | Christopher James Lahey <clahey@ximian.com> | 2002-02-13 03:56:10 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2002-02-13 03:56:10 +0800 |
commit | 3ab71d197466ac576bfccbabca86d879880a189f (patch) | |
tree | b5f504d5efb99010c2587d03cbc10cebaa063881 /widgets/table | |
parent | 6185f96a81ac5dc49cc443fe17cfe6900a0d65dc (diff) | |
download | gsoc2013-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/table')
-rw-r--r-- | widgets/table/e-table-item.c | 33 |
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); |