[evolution-patches] #41862: Context menu doesn't always recognise URLS fix



Attached patch makes calls to htmlengine use pure event coordinates
instead of coordinates shifted by gtkhtml's view offset. Event
coordinates changed from gtk 1.2 to gtk 2.x.

Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
retrieving revision 1.2704
diff -u -p -r1.2704 ChangeLog
--- ChangeLog	24 Apr 2003 01:55:10 -0000	1.2704
+++ ChangeLog	24 Apr 2003 18:21:40 -0000
@@ -1,3 +1,11 @@
+2003-04-24  Radek Doulik  <rodo ximian com>
+
+	* mail-display.c (html_button_press_event): as below
+	(update_active): as below
+
+	* folder-browser.c (html_button_press_event): update for changed
+	coordinates in gtk-2
+
 2003-04-23  Not Zed  <NotZed Ximian com>
 
 	* mail-send-recv.c (get_receive_type): pass an exception to
Index: folder-browser.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/folder-browser.c,v
retrieving revision 1.340
diff -u -p -r1.340 folder-browser.c
--- folder-browser.c	31 Mar 2003 02:57:41 -0000	1.340
+++ folder-browser.c	24 Apr 2003 18:21:43 -0000
@@ -2156,8 +2156,7 @@ html_button_press_event (GtkWidget *widg
 		return FALSE;
 	
 	engine = GTK_HTML (widget)->engine;
-	point = html_engine_get_point_at (engine, event->x + engine->x_offset,
-					  event->y + engine->y_offset, FALSE);
+	point = html_engine_get_point_at (engine, event->x, event->y, FALSE);
 	
 	if (point) {
 		/* don't popup a menu if the mouse is hovering over a
Index: mail-display.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/mail-display.c,v
retrieving revision 1.274
diff -u -p -r1.274 mail-display.c
--- mail-display.c	1 Apr 2003 18:23:57 -0000	1.274
+++ mail-display.c	24 Apr 2003 18:21:46 -0000
@@ -2416,7 +2416,7 @@ html_button_press_event (GtkWidget *widg
 			GtkWidget *popup_thing;
 			
 			e     = GTK_HTML (widget)->engine;
-			point = html_engine_get_point_at (e, event->x + e->x_offset, event->y + e->y_offset, FALSE);
+			point = html_engine_get_point_at (e, event->x, event->y, FALSE);
 			
 			if (point) {
 				const char *url, *src;
@@ -2494,7 +2494,7 @@ update_active (GtkWidget *widget, gint x
 	
 	e = GTK_HTML (widget)->engine;
 	
-	point = html_engine_get_point_at (e, x + e->x_offset, y + e->y_offset, FALSE);
+	point = html_engine_get_point_at (e, x, y, FALSE);
 	if (mail_display->last_active && (!point || mail_display->last_active != point->object)) {
 		set_underline (e, HTML_OBJECT (mail_display->last_active), FALSE);
 		mail_display->last_active = NULL;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]