diff options
-rwxr-xr-x | amiga/gui.c | 10 | ||||
-rwxr-xr-x | amiga/gui.h | 1 | ||||
-rw-r--r-- | amiga/options.h | 2 |
3 files changed, 11 insertions, 2 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index 6e115c2d8..f97434cf2 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -2068,6 +2068,9 @@ void ami_switch_tab(struct gui_window_2 *gwin,bool redraw) struct Node *tabnode; struct IBox *bbox; + /* Clear the last new tab list */ + gwin->bw->window->last_new_tab = NULL; + if(gwin->tabs == 0) return; gui_window_get_scroll(gwin->bw->window,&gwin->bw->window->scrollx,&gwin->bw->window->scrolly); @@ -2417,7 +2420,12 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw, } else { - Insert(&gwin->shared->tab_list, gwin->tab_node, clone->window->tab_node); + struct Node *insert_after = clone->window->tab_node; + + if(clone->window->last_new_tab) + insert_after = clone->window->last_new_tab; + Insert(&gwin->shared->tab_list, gwin->tab_node, insert_after); + clone->window->last_new_tab = gwin->tab_node; } RefreshSetGadgetAttrs((struct Gadget *)gwin->shared->objects[GID_TABS], diff --git a/amiga/gui.h b/amiga/gui.h index d7602da4b..2264a350e 100755 --- a/amiga/gui.h +++ b/amiga/gui.h @@ -114,6 +114,7 @@ struct gui_window struct gui_window_2 *shared; int tab; struct Node *tab_node; + struct Node *last_new_tab; int c_x; /* Caret X posn */ int c_y; /* Caret Y posn */ int c_w; /* Caret width */ diff --git a/amiga/options.h b/amiga/options.h index 7101bbfe8..ec650ff86 100644 --- a/amiga/options.h +++ b/amiga/options.h @@ -80,7 +80,7 @@ bool option_sticky_context_menu = false; \ bool option_truecolour_mouse_pointers = false; \ bool option_use_os_pointers = true; \ bool option_new_tab_active = false; \ -bool option_new_tab_last = true; \ +bool option_new_tab_last = false; \ bool option_kiosk_mode = false; \ char *option_search_engines_file = 0; \ char *option_search_ico_file = 0; \ |