changeset 7720:5fe29daf52d7

[gaim-migrate @ 8365] Last thing from me tonight. This will make persons not auto-collapse on the leave event, emitted when putting your mouse over a tooltip, or clicking for the context menu and some such. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Wed, 03 Dec 2003 06:50:48 +0000
parents 853ef377a850
children 20d0c025312a
files src/gtkblist.c
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/gtkblist.c	Wed Dec 03 06:12:55 2003 +0000
+++ b/src/gtkblist.c	Wed Dec 03 06:50:48 2003 +0000
@@ -1488,6 +1488,7 @@
 			gtk_main_iteration();
 
 		gtk_tree_view_get_cell_area(GTK_TREE_VIEW(tv), path, NULL, &gtkblist->contact_rect);
+		gdk_drawable_get_size(GDK_DRAWABLE(tv->window), &(gtkblist->contact_rect.width), NULL);
 		gtkblist->mouseover_contact = node;
 		gtk_tree_path_down (path);
 		while (gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &i, path)) {
@@ -1651,9 +1652,11 @@
 #endif
 		gtkblist->tipwindow = NULL;
 	}
-	
-	if (gtkblist->mouseover_contact) {
-		gaim_gtk_blist_collapse_contact_cb(NULL, gtkblist->mouseover_contact);
+
+	if (gtkblist->mouseover_contact && 
+	    !((e->x > gtkblist->contact_rect.x) && (e->x < (gtkblist->contact_rect.x + gtkblist->contact_rect.width)) &&
+	      (e->y > gtkblist->contact_rect.y) && (e->y < (gtkblist->contact_rect.y + gtkblist->contact_rect.height)))) {
+		    gaim_gtk_blist_collapse_contact_cb(NULL, gtkblist->mouseover_contact);
 		gtkblist->mouseover_contact = NULL;
 	}
 }