[epiphany] Fix: Pins don't stay on the left
- From: Jan-Michael Brummer <jbrummer src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] Fix: Pins don't stay on the left
- Date: Fri, 31 May 2019 14:36:48 +0000 (UTC)
commit abed379df2daac500fb190a6357149c0221497de
Author: Jan-Michael Brummer <jan brummer tabos org>
Date: Tue May 28 21:05:05 2019 +0200
Fix: Pins don't stay on the left
Fixes: https://gitlab.gnome.org/GNOME/epiphany/issues/780
src/ephy-notebook.h | 1 +
src/ephy-window.c | 16 ++++++++++++++--
2 files changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/src/ephy-notebook.h b/src/ephy-notebook.h
index a54b50f83..46af51464 100644
--- a/src/ephy-notebook.h
+++ b/src/ephy-notebook.h
@@ -56,4 +56,5 @@ void ephy_notebook_tab_set_pinned (EphyNotebook *notebook,
gboolean is_pinned);
gboolean ephy_notebook_tab_is_pinned (EphyNotebook *notebook,
EphyEmbed *embed);
+
G_END_DECLS
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 0877a3881..ad4cb3be6 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -4223,13 +4223,25 @@ int
ephy_window_get_position_for_new_embed (EphyWindow *window,
EphyEmbed *embed)
{
- GtkWidget *nb = ephy_window_get_notebook (window);
+ GtkWidget *notebook = ephy_window_get_notebook (window);
int position;
if (embed == window->last_opened_embed)
return window->last_opened_pos++;
- position = gtk_notebook_page_num (GTK_NOTEBOOK (nb), GTK_WIDGET (embed)) + 1;
+ position = gtk_notebook_page_num (GTK_NOTEBOOK (notebook), GTK_WIDGET (embed)) + 1;
+
+ /* Loop through all pages and skip all pinned tabs */
+ do {
+ GtkWidget *page;
+
+ page = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), position);
+ if (!page)
+ break;
+
+ if (!ephy_notebook_tab_is_pinned (EPHY_NOTEBOOK (notebook), EPHY_EMBED (page)))
+ break;
+ } while (++position < gtk_notebook_get_n_pages (GTK_NOTEBOOK (notebook)));
if (window->last_opened_embed)
g_object_remove_weak_pointer (G_OBJECT (window->last_opened_embed), (gpointer
*)&window->last_opened_embed);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]