[epiphany/wip/exalm/tabs: 27/37] fixup! tmp




commit 33ca2168789dc993075ce305e1cf9ec4bc6c4204
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Mon Sep 7 21:22:38 2020 +0500

    fixup! tmp

 src/ephy-window.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
---
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 1561a0f2a..4ce5a15b7 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -211,10 +211,16 @@ impl_add_child (EphyEmbedContainer *container,
                 gboolean            jump_to)
 {
   EphyWindow *window = EPHY_WINDOW (container);
+  int ret;
 
   g_assert (!window->is_popup || ephy_tab_view_get_n_pages (window->tab_view) < 1);
 
-  return ephy_tab_view_add_tab (window->tab_view, child, position, jump_to);
+  ret = ephy_tab_view_add_tab (window->tab_view, child, position, jump_to);
+
+  if (jump_to)
+    ephy_window_update_entry_focus (window, ephy_embed_get_web_view (child));
+
+  return ret;
 }
 
 static void
@@ -2877,7 +2883,6 @@ ephy_window_close_tab (EphyWindow *window,
   }
 
   g_object_set_data (G_OBJECT (tab), "ephy-window-close-tab-closed", GINT_TO_POINTER (TRUE));
-  gtk_widget_destroy (GTK_WIDGET (tab));
 
   if (window->last_opened_embed)
     g_clear_weak_pointer ((gpointer *)&window->last_opened_embed);
@@ -2941,7 +2946,8 @@ tab_has_modified_forms_cb (EphyWebView             *view,
 
   if (data->id != 0 &&
       data->window != NULL &&
-      data->embed != NULL) {
+      data->embed != NULL &&
+      data->page != NULL) {
     HdyTabView *tab_view = ephy_tab_view_get_tab_view (data->window->tab_view);
 
     if (!has_modified_forms || confirm_close_with_modified_forms (data->window)) {
@@ -2965,11 +2971,15 @@ tab_has_modified_forms_timeout_cb (TabHasModifiedFormsData *data)
    * ephy_window_close_tab().
    */
   data->id = 0;
-  if (data->window != NULL && data->embed != NULL) {
+  if (data->window != NULL &&
+      data->embed != NULL &&
+      data->page != NULL) {
     HdyTabView *tab_view = ephy_tab_view_get_tab_view (data->window->tab_view);
+    HdyTabPage *page = data->page;
 
     ephy_window_close_tab (data->window, data->embed);
-    hdy_tab_view_close_page_finish (tab_view, data->page, TRUE);
+
+    hdy_tab_view_close_page_finish (tab_view, page, TRUE);
   }
 
   return G_SOURCE_REMOVE;
@@ -3108,8 +3118,6 @@ tab_view_notify_selected_page_cb (EphyWindow *window)
   ephy_window_set_active_tab (window, embed);
 
   update_reader_mode (window, view);
-
-  ephy_window_update_entry_focus (window, view);
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]