[epiphany/mcatanzaro/752: 2/2] window: unfullscreen when active embed crashes



commit 7df37701488dce28684709129f02c163eaf18362
Author: Michael Catanzaro <mcatanzaro igalia com>
Date:   Mon Apr 29 09:18:56 2019 -0500

    window: unfullscreen when active embed crashes
    
    Fixes #752

 src/ephy-window.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)
---
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 8be2354c1..3d07e8fd3 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -1860,6 +1860,14 @@ ephy_window_mouse_target_changed_cb (WebKitWebView       *web_view,
   window->hit_test_result = g_object_ref (hit_test_result);
 }
 
+static void
+web_process_terminated_cb (EphyWebView                       *web_view,
+                           WebKitWebProcessTerminationReason  reason,
+                           EphyWindow                        *window)
+{
+  ephy_window_unfullscreen (window);
+}
+
 static void
 ephy_window_set_is_popup (EphyWindow *window,
                           gboolean    is_popup)
@@ -2380,6 +2388,9 @@ ephy_window_connect_active_embed (EphyWindow *window)
   g_signal_connect_object (view, "mouse-target-changed",
                            G_CALLBACK (ephy_window_mouse_target_changed_cb),
                            window, 0);
+  g_signal_connect_object (view, "web-process-terminated",
+                           G_CALLBACK (web_process_terminated_cb),
+                           window, 0);
 
   ephy_mouse_gesture_controller_set_web_view (window->mouse_gesture_controller, web_view);
 
@@ -2442,13 +2453,15 @@ ephy_window_disconnect_active_embed (EphyWindow *window)
   g_signal_handlers_disconnect_by_func (view,
                                         G_CALLBACK (sync_tab_address),
                                         window);
-
   g_signal_handlers_disconnect_by_func (view,
                                         G_CALLBACK (populate_context_menu),
                                         window);
   g_signal_handlers_disconnect_by_func (view,
                                         G_CALLBACK (ephy_window_mouse_target_changed_cb),
                                         window);
+  g_signal_handlers_disconnect_by_func (view,
+                                        G_CALLBACK (web_process_terminated_cb),
+                                        window);
 }
 
 static void


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