diff options
Diffstat (limited to 'mail/em-format-html-display.c')
-rw-r--r-- | mail/em-format-html-display.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/mail/em-format-html-display.c b/mail/em-format-html-display.c index 10f5d89d33..907b674f0a 100644 --- a/mail/em-format-html-display.c +++ b/mail/em-format-html-display.c @@ -570,26 +570,27 @@ static int efhd_html_button_press_event (GtkWidget *widget, GdkEventButton *event, EMFormatHTMLDisplay *efhd) { HTMLEngine *e; - HTMLPoint *point; + HTMLObject *obj; const char *url; gboolean res = FALSE; + gint offset; if (event->button != 3) return FALSE; e = ((GtkHTML *)widget)->engine; - point = html_engine_get_point_at(e, event->x, event->y, FALSE); - if (point == NULL) + obj = html_engine_get_object_at(e, event->x, event->y, &offset, FALSE); + if (obj == NULL) return FALSE; d(printf("popup button pressed\n")); - if ( (url = html_object_get_src(point->object)) != NULL - || (url = html_object_get_url(point->object, 0)) != NULL) { + if ( (url = html_object_get_src(obj)) != NULL + || (url = html_object_get_url(obj, offset)) != NULL) { EMFormatPURI *puri; char *uri; - uri = gtk_html_get_url_object_relative((GtkHTML *)widget, point->object, url); + uri = gtk_html_get_url_object_relative((GtkHTML *)widget, obj, url); puri = em_format_find_puri((EMFormat *)efhd, uri); d(printf("poup event, uri = '%s' part = '%p'\n", uri, puri?puri->part:NULL)); @@ -597,8 +598,6 @@ efhd_html_button_press_event (GtkWidget *widget, GdkEventButton *event, EMFormat g_signal_emit((GtkObject *)efhd, efhd_signals[EFHD_POPUP_EVENT], 0, event, uri, puri?puri->part:NULL, &res); g_free(uri); } - - html_point_destroy(point); return res; } |