[epiphany/overview: 15/31] ephy-window: only react to the active embed if the overview is hidden



commit 491017cb0c8bd2139094d0ad36ac3e6739a276ef
Author: Claudio Saavedra <csaavedra igalia com>
Date:   Wed May 9 19:13:49 2012 +0300

    ephy-window: only react to the active embed if the overview is hidden
    
    When showing the overview, the window doesn't need to be updated with
    changes in the currently active embed.

 src/ephy-window.c |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)
---
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 1d09ffc..4fa36cc 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -2683,12 +2683,12 @@ ephy_window_set_active_tab (EphyWindow *window, EphyEmbed *new_embed)
 
 	if (old_embed == new_embed) return;
 
-	if (old_embed != NULL)
+	if (window->priv->overview_mode == FALSE && old_embed != NULL)
 		ephy_window_disconnect_active_embed (window);
 
 	window->priv->active_embed = new_embed;
 
-	if (new_embed != NULL)
+	if (window->priv->overview_mode == FALSE && new_embed != NULL)
 		ephy_window_connect_active_embed (window);
 }
 
@@ -4093,6 +4093,16 @@ ephy_window_get_overview_mode (EphyWindow *window)
 	return window->priv->overview_mode;
 }
 
+static void
+ephy_window_toggle_overview (EphyWindow *window, gboolean overview_mode)
+{
+	if (overview_mode) {
+		ephy_window_disconnect_active_embed (window);
+	} else {
+		ephy_window_connect_active_embed (window);
+	}
+}
+
 void
 ephy_window_set_overview_mode (EphyWindow *window, gboolean overview_mode)
 {
@@ -4105,6 +4115,8 @@ ephy_window_set_overview_mode (EphyWindow *window, gboolean overview_mode)
 	if (priv->overview_mode == overview_mode)
 		return;
 
+	ephy_window_toggle_overview (window, overview_mode);
+
 	priv->overview_mode = overview_mode;
 
 	g_object_notify (G_OBJECT (window), "overview-mode");



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