diff options
author | Jon Trowbridge <trow@ximian.com> | 2001-10-12 15:24:40 +0800 |
---|---|---|
committer | Jon Trowbridge <trow@src.gnome.org> | 2001-10-12 15:24:40 +0800 |
commit | 59c7688bd633383f4e6577a5eee4f65f051135a4 (patch) | |
tree | 3f5e7a856d07bc401d43166e57b3428ef85d06a5 | |
parent | 9b86a516810fb2d1eeb267b17046dc15849e3e53 (diff) | |
download | gsoc2013-evolution-59c7688bd633383f4e6577a5eee4f65f051135a4.tar gsoc2013-evolution-59c7688bd633383f4e6577a5eee4f65f051135a4.tar.gz gsoc2013-evolution-59c7688bd633383f4e6577a5eee4f65f051135a4.tar.bz2 gsoc2013-evolution-59c7688bd633383f4e6577a5eee4f65f051135a4.tar.lz gsoc2013-evolution-59c7688bd633383f4e6577a5eee4f65f051135a4.tar.xz gsoc2013-evolution-59c7688bd633383f4e6577a5eee4f65f051135a4.tar.zst gsoc2013-evolution-59c7688bd633383f4e6577a5eee4f65f051135a4.zip |
Store our listener id. (popup_info_free): Disconnect our listener when we
2001-10-12 Jon Trowbridge <trow@ximian.com>
* mail-display.c (html_button_press_event): Store our listener id.
(popup_info_free): Disconnect our listener when we free the popup.
(Bug #11040)
svn path=/trunk/; revision=13619
-rw-r--r-- | mail/ChangeLog | 6 | ||||
-rw-r--r-- | mail/mail-display.c | 11 |
2 files changed, 14 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 479d5c2580..1ec238c8b3 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,9 @@ +2001-10-12 Jon Trowbridge <trow@ximian.com> + + * mail-display.c (html_button_press_event): Store our listener id. + (popup_info_free): Disconnect our listener when we free the popup. + (Bug #11040) + 2001-10-11 Jon Trowbridge <trow@ximian.com> * mail-callbacks.c (addrbook_sender): Listen for "destroy" events diff --git a/mail/mail-display.c b/mail/mail-display.c index 20587f49fe..1187c2237d 100644 --- a/mail/mail-display.c +++ b/mail/mail-display.c @@ -1610,6 +1610,7 @@ struct _PopupInfo { GtkWidget *win; guint destroy_timeout; guint widget_destroy_handle; + Bonobo_EventSource_ListenerId listener_id; gboolean hidden; }; @@ -1623,6 +1624,10 @@ popup_info_free (PopupInfo *pop) if (pop->destroy_timeout) gtk_timeout_remove (pop->destroy_timeout); + bonobo_event_source_client_remove_listener (bonobo_widget_get_objref (BONOBO_WIDGET (pop->w)), + pop->listener_id, + NULL); + g_free (pop); } } @@ -1819,9 +1824,9 @@ html_button_press_event (GtkWidget *widget, GdkEventButton *event, MailDisplay * pop = make_popup_window (popup_thing); - bonobo_event_source_client_add_listener ( - bonobo_widget_get_objref (BONOBO_WIDGET (popup_thing)), - listener_cb, NULL, NULL, pop); + pop->listener_id = + bonobo_event_source_client_add_listener (bonobo_widget_get_objref (BONOBO_WIDGET (popup_thing)), + listener_cb, NULL, NULL, pop); } else if (url || src) { gint hide_mask = 0; |