aboutsummaryrefslogtreecommitdiffstats
path: root/src/bookmarks/ephy-bookmarksbar.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bookmarks/ephy-bookmarksbar.c')
-rw-r--r--src/bookmarks/ephy-bookmarksbar.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/bookmarks/ephy-bookmarksbar.c b/src/bookmarks/ephy-bookmarksbar.c
index 249971491..3945ff1dd 100644
--- a/src/bookmarks/ephy-bookmarksbar.c
+++ b/src/bookmarks/ephy-bookmarksbar.c
@@ -100,13 +100,26 @@ ephy_bookmarksbar_get_type (void)
static void
open_in_tabs_cb (GtkAction *action, GList *uri_list, EphyBookmarksBar *toolbar)
{
- EphyWindow *window = toolbar->priv->window;
EphyTab *tab;
+ EphyWindow *window;
+ GList *l = uri_list;
+
+ g_return_if_fail (l != NULL);
+
+ tab = ephy_shell_new_tab (ephy_shell, NULL, NULL, l->data,
+ EPHY_NEW_TAB_OPEN_PAGE);
+ g_return_if_fail (tab != NULL);
- g_return_if_fail (EPHY_IS_WINDOW (window));
+ window = EPHY_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (tab)));
+ g_return_if_fail (window != NULL);
- tab = ephy_window_get_active_tab (window);
- ephy_window_load_in_tabs (window, tab, uri_list);
+ for (l = l->next; l != NULL; l = l->next)
+ {
+ ephy_shell_new_tab (ephy_shell, window, NULL, l->data,
+ EPHY_NEW_TAB_IN_EXISTING_WINDOW |
+ EPHY_NEW_TAB_OPEN_PAGE |
+ EPHY_NEW_TAB_APPEND_LAST);
+ }
}
static void