diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | mail/em-format-html-display.c | 7 |
2 files changed, 15 insertions, 0 deletions
@@ -1,3 +1,11 @@ +2006-12-21 Nickolay V. Shmyrev <nshmyrev@yandex.ru> + + * mail/em-format-html-display.c: (efhd_image_unallocate), + (efhd_attachment_image): + + Disconnect handlers on image destroy. Fixes bug + #340165. + 2006-12-18 Veerapuram Varadhan <vvaradhan@novell.com> * NEWS, configure.in: Evolution 2.9.4 release diff --git a/mail/em-format-html-display.c b/mail/em-format-html-display.c index 9d7a13d787..4564e8155f 100644 --- a/mail/em-format-html-display.c +++ b/mail/em-format-html-display.c @@ -182,6 +182,7 @@ struct _attach_puri { int fit_width; int fit_height; GtkImage *image; + GtkWidget *event_box; /* Optional Text Mem Stream */ CamelStreamMem *mstream; @@ -1695,6 +1696,11 @@ efhd_image_unallocate (struct _EMFormatPURI * puri) { struct _attach_puri *info = (struct _attach_puri *) puri; g_signal_handlers_disconnect_by_func(info->html, efhd_image_resized, info); + + g_signal_handlers_disconnect_by_func(info->event_box, efhd_image_popup, info); + g_signal_handlers_disconnect_by_func(info->event_box, efhd_image_change_cursor, info); + g_signal_handlers_disconnect_by_func(info->event_box, efhd_attachment_popup_menu, info); + g_signal_handlers_disconnect_by_func(info->event_box, efhd_image_fit_width, info); } static gboolean @@ -1727,6 +1733,7 @@ efhd_attachment_image(EMFormatHTML *efh, GtkHTMLEmbedded *eb, EMFormatHTMLPObjec } box = gtk_event_box_new(); + info->event_box = box; gtk_container_add((GtkContainer *)box, (GtkWidget *)info->image); gtk_widget_show_all(box); gtk_container_add((GtkContainer *)eb, box); |