aboutsummaryrefslogtreecommitdiffstats
path: root/src/ephy-window.c
diff options
context:
space:
mode:
authorCarlos Garcia Campos <cgarcia@igalia.com>2012-08-13 16:00:52 +0800
committerCarlos Garcia Campos <carlosgc@gnome.org>2012-10-08 21:27:05 +0800
commitbe3e52e1c22a05b655c3b322045d1f5c6fd76c7f (patch)
treec5b09e964033368d3fada72097c1e8f85f530e0d /src/ephy-window.c
parent7512839e6add584e184805d3781f9976831a2188 (diff)
downloadgsoc2013-epiphany-be3e52e1c22a05b655c3b322045d1f5c6fd76c7f.tar
gsoc2013-epiphany-be3e52e1c22a05b655c3b322045d1f5c6fd76c7f.tar.gz
gsoc2013-epiphany-be3e52e1c22a05b655c3b322045d1f5c6fd76c7f.tar.bz2
gsoc2013-epiphany-be3e52e1c22a05b655c3b322045d1f5c6fd76c7f.tar.lz
gsoc2013-epiphany-be3e52e1c22a05b655c3b322045d1f5c6fd76c7f.tar.xz
gsoc2013-epiphany-be3e52e1c22a05b655c3b322045d1f5c6fd76c7f.tar.zst
gsoc2013-epiphany-be3e52e1c22a05b655c3b322045d1f5c6fd76c7f.zip
Move windows handling code from EphySession to EphyShell
EphyShell is now a GtkApplication that already does window handling, however we want to maintain only the of browser windows. Instead of keeping the window lists in ephy-session, it's easier to override window_added and window_removed virtual methods of GtkApplication and update the browser window lists. Most of the cases where this API was used, had to get the session object from the shell first, now we save this step keeping the code simpler. https://bugzilla.gnome.org/show_bug.cgi?id=641734
Diffstat (limited to 'src/ephy-window.c')
-rw-r--r--src/ephy-window.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/ephy-window.c b/src/ephy-window.c
index dd85df737..c84d0c6a2 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -4183,10 +4183,8 @@ ephy_window_get_location_controller (EphyWindow *window)
gboolean
ephy_window_close (EphyWindow *window)
{
- EphySession *session;
EphyEmbed *modified_embed = NULL;
- GList *tabs, *l, *windows;
- guint number_windows;
+ GList *tabs, *l;
gboolean modified = FALSE;
/* We ignore the delete_event if the disable_quit lockdown has been set
@@ -4231,14 +4229,9 @@ ephy_window_close (EphyWindow *window)
}
/* If this is the last window, save its state in the session. */
- session = EPHY_SESSION (ephy_shell_get_session (ephy_shell));
- windows = ephy_session_get_windows (session);
- number_windows = g_list_length (windows);
- g_list_free (windows);
-
- if (number_windows == 1)
+ if (ephy_shell_get_n_windows (ephy_shell) == 1)
{
- ephy_session_close (session);
+ ephy_session_close (EPHY_SESSION (ephy_shell_get_session (ephy_shell)));
}
/* See bug #114689 */