diff options
author | Marco Pesenti Gritti <marco@it.gnome.org> | 2003-07-26 01:03:50 +0800 |
---|---|---|
committer | Marco Pesenti Gritti <mpeseng@src.gnome.org> | 2003-07-26 01:03:50 +0800 |
commit | 3e53d46bb756fad2fc25c70f1923af01f9b0574e (patch) | |
tree | 7f11b7d4f64115a53b55523854e2700fa6a36006 /lib | |
parent | da34a92dfce1a75705bf54646db0e936934ea3e5 (diff) | |
download | gsoc2013-epiphany-3e53d46bb756fad2fc25c70f1923af01f9b0574e.tar gsoc2013-epiphany-3e53d46bb756fad2fc25c70f1923af01f9b0574e.tar.gz gsoc2013-epiphany-3e53d46bb756fad2fc25c70f1923af01f9b0574e.tar.bz2 gsoc2013-epiphany-3e53d46bb756fad2fc25c70f1923af01f9b0574e.tar.lz gsoc2013-epiphany-3e53d46bb756fad2fc25c70f1923af01f9b0574e.tar.xz gsoc2013-epiphany-3e53d46bb756fad2fc25c70f1923af01f9b0574e.tar.zst gsoc2013-epiphany-3e53d46bb756fad2fc25c70f1923af01f9b0574e.zip |
Make sure to remove the timeout on widget destruction
2003-07-25 Marco Pesenti Gritti <marco@it.gnome.org>
* lib/widgets/ephy-search-entry.c: (ephy_search_entry_destroy_cb),
(ephy_search_entry_init):
Make sure to remove the timeout on widget destruction
Diffstat (limited to 'lib')
-rw-r--r-- | lib/widgets/ephy-search-entry.c | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/lib/widgets/ephy-search-entry.c b/lib/widgets/ephy-search-entry.c index 9837da909..e1b106594 100644 --- a/lib/widgets/ephy-search-entry.c +++ b/lib/widgets/ephy-search-entry.c @@ -125,34 +125,29 @@ ephy_search_entry_changed_cb (GtkEditable *editable, entry->priv->timeout = g_timeout_add (300, (GSourceFunc) ephy_search_entry_timeout_cb, entry); } -static gboolean -ephy_search_entry_focus_out_event_cb (GtkWidget *widget, - GdkEventFocus *event, - EphySearchEntry *entry) +static void +ephy_search_entry_destroy_cb (GtkEditable *editable, + EphySearchEntry *entry) { - if (entry->priv->timeout == 0) - return FALSE; - - g_source_remove (entry->priv->timeout); - entry->priv->timeout = 0; - - g_signal_emit (G_OBJECT (entry), ephy_search_entry_signals[SEARCH], 0, - gtk_entry_get_text (GTK_ENTRY (entry))); - - return FALSE; + if (entry->priv->timeout) + { + g_source_remove (entry->priv->timeout); + entry->priv->timeout = 0; + } } + static void ephy_search_entry_init (EphySearchEntry *entry) { entry->priv = g_new0 (EphySearchEntryPrivate, 1); g_signal_connect (G_OBJECT (entry), - "changed", - G_CALLBACK (ephy_search_entry_changed_cb), + "destroy", + G_CALLBACK (ephy_search_entry_destroy_cb), entry); g_signal_connect (G_OBJECT (entry), - "focus_out_event", - G_CALLBACK (ephy_search_entry_focus_out_event_cb), + "changed", + G_CALLBACK (ephy_search_entry_changed_cb), entry); } |