changeset 12795:ca1144227826

[gaim-migrate @ 15142] Part of SF Patch #1400162 from Sadrul "This should make the tab-dragging arrows appear in the right places for tabs on the side/side-vertical." I'm basically trusting Sadrul on this one. committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Mon, 09 Jan 2006 15:39:51 +0000
parents 4e3dde2b2641
children e8db8f94a2db
files src/gtkconv.c
diffstat 1 files changed, 10 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/gtkconv.c	Mon Jan 09 15:32:00 2006 +0000
+++ b/src/gtkconv.c	Mon Jan 09 15:39:51 2006 +0000
@@ -5819,6 +5819,11 @@
 		}
 	}
 
+	if (page_num == -1) {
+		/* Add after the last tab */
+		page_num = count - 1;
+	}
+
 	return page_num;
 }
 
@@ -6606,15 +6611,13 @@
 			}
 
 			arrow1_y = nb_y + tab->allocation.y;
-			arrow2_y = nb_y + tab->allocation.y +
-				tab->allocation.height;
+			arrow2_y = nb_y + tab->allocation.y + tab->allocation.height;
 		} else {
 			arrow1_x = nb_x + tab->allocation.x;
-			arrow2_x = nb_x + tab->allocation.x +
-				tab->allocation.width;
-			arrow1_y = arrow2_y = nb_y + tab->allocation.y + tab->allocation.height/2;
-
-			if ((gpointer)win == (gpointer)dest_win && win->drag_tab < page_num) {
+			arrow2_x = nb_x + tab->allocation.x + tab->allocation.width;
+			arrow1_y = arrow2_y = nb_y + tab->allocation.y;
+
+			if (((gpointer)win == (gpointer)dest_win && win->drag_tab < page_num) || to_right) {
 				arrow1_y += tab->allocation.height;
 				arrow2_y += tab->allocation.height;
 			}