diff -r e4f178fc08b5 -r 83d09a3b4e3c src/gtkconv.c --- 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; }