aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2004-11-01 03:42:45 +0800
committerChristian Persch <chpe@src.gnome.org>2004-11-01 03:42:45 +0800
commit735b9b230fca8245f80825c0c4bd326385c477ae (patch)
treea40c2574c1b4d0b33d517d05bd74d9a086b1efb1 /src
parent0f75d0f02d8ac2b959a88b25009d7577c30c0612 (diff)
downloadgsoc2013-epiphany-735b9b230fca8245f80825c0c4bd326385c477ae.tar
gsoc2013-epiphany-735b9b230fca8245f80825c0c4bd326385c477ae.tar.gz
gsoc2013-epiphany-735b9b230fca8245f80825c0c4bd326385c477ae.tar.bz2
gsoc2013-epiphany-735b9b230fca8245f80825c0c4bd326385c477ae.tar.lz
gsoc2013-epiphany-735b9b230fca8245f80825c0c4bd326385c477ae.tar.xz
gsoc2013-epiphany-735b9b230fca8245f80825c0c4bd326385c477ae.tar.zst
gsoc2013-epiphany-735b9b230fca8245f80825c0c4bd326385c477ae.zip
Emit ::tab-removed after the tab has been removed. Fixes bug 151607.
2004-10-31 Christian Persch <chpe@cvs.gnome.org> * src/ephy-notebook.c: (ephy_notebook_remove_tab): * src/ephy-window.c: (ephy_window_show), (ephy_window_get_active_tab): Emit ::tab-removed after the tab has been removed. Fixes bug 151607.
Diffstat (limited to 'src')
-rw-r--r--src/ephy-notebook.c19
-rw-r--r--src/ephy-window.c2
2 files changed, 7 insertions, 14 deletions
diff --git a/src/ephy-notebook.c b/src/ephy-notebook.c
index a6629ae14..88ddddd68 100644
--- a/src/ephy-notebook.c
+++ b/src/ephy-notebook.c
@@ -1001,23 +1001,12 @@ void
ephy_notebook_remove_tab (EphyNotebook *nb,
EphyTab *tab)
{
- int num, position, curr;
+ int position, curr;
GtkWidget *label, *ebox;
g_return_if_fail (EPHY_IS_NOTEBOOK (nb));
g_return_if_fail (EPHY_IS_TAB (tab));
- num = gtk_notebook_get_n_pages (GTK_NOTEBOOK (nb));
- if (num <= 1)
- {
- GtkWidget *window;
- window = gtk_widget_get_toplevel (GTK_WIDGET (nb));
-
- g_signal_emit (G_OBJECT (nb), signals[TAB_REMOVED], 0, tab);
- gtk_widget_destroy (window);
- return;
- }
-
/* Remove the page from the focused pages list */
nb->priv->focused_pages = g_list_remove (nb->priv->focused_pages,
tab);
@@ -1054,4 +1043,10 @@ ephy_notebook_remove_tab (EphyNotebook *nb,
g_signal_emit (G_OBJECT (nb), signals[TAB_REMOVED], 0, tab);
g_object_unref (tab);
+
+ /* if that was the last tab, destroy the window */
+ if (gtk_notebook_get_n_pages (GTK_NOTEBOOK (nb)) == 0)
+ {
+ gtk_widget_destroy (gtk_widget_get_toplevel (GTK_WIDGET (nb)));
+ }
}
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 5e97ca14d..08a500a61 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -2658,7 +2658,6 @@ ephy_window_show (GtkWidget *widget)
if (!window->priv->has_size)
{
-g_print ("initial show!\n");
EphyTab *tab;
int width, height;
@@ -2690,7 +2689,6 @@ EphyTab *
ephy_window_get_active_tab (EphyWindow *window)
{
g_return_val_if_fail (EPHY_IS_WINDOW (window), NULL);
- g_return_val_if_fail (EPHY_IS_TAB (window->priv->active_tab), NULL);
return window->priv->active_tab;
}