diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2005-01-09 20:21:34 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2005-01-09 20:21:34 +0800 |
commit | d5c17ea5ab31405cab0ebe3ca6e4d9e52d4d5e47 (patch) | |
tree | cf816b39999b419179ffbec26271cd3d5b414c71 /src | |
parent | 7730057ced6ecc87123ff621593672c80e72d2db (diff) | |
download | gsoc2013-epiphany-d5c17ea5ab31405cab0ebe3ca6e4d9e52d4d5e47.tar gsoc2013-epiphany-d5c17ea5ab31405cab0ebe3ca6e4d9e52d4d5e47.tar.gz gsoc2013-epiphany-d5c17ea5ab31405cab0ebe3ca6e4d9e52d4d5e47.tar.bz2 gsoc2013-epiphany-d5c17ea5ab31405cab0ebe3ca6e4d9e52d4d5e47.tar.lz gsoc2013-epiphany-d5c17ea5ab31405cab0ebe3ca6e4d9e52d4d5e47.tar.xz gsoc2013-epiphany-d5c17ea5ab31405cab0ebe3ca6e4d9e52d4d5e47.tar.zst gsoc2013-epiphany-d5c17ea5ab31405cab0ebe3ca6e4d9e52d4d5e47.zip |
Don't store more than 5 hidden popups. Fixes bug #160863 (merged from
2005-01-09 Christian Persch <chpe@cvs.gnome.org>
* src/ephy-tab.c: (popups_manager_add):
Don't store more than 5 hidden popups. Fixes bug #160863
(merged from HEAD; patch by Adam Hoopers).
Diffstat (limited to 'src')
-rw-r--r-- | src/ephy-tab.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/ephy-tab.c b/src/ephy-tab.c index 032e8803a..667db88a4 100644 --- a/src/ephy-tab.c +++ b/src/ephy-tab.c @@ -65,6 +65,8 @@ #define CONF_LOCKDOWN_DISABLE_JAVASCRIPT_CHROME "/apps/epiphany/lockdown/disable_javascript_chrome" +#define MAX_HIDDEN_POPUPS 5 + struct _EphyTabPrivate { char *status_message; @@ -493,7 +495,25 @@ popups_manager_add (EphyTab *tab, tab->priv->hidden_popups = g_slist_prepend (tab->priv->hidden_popups, popup); - g_object_notify (G_OBJECT (tab), "hidden-popup-count"); + if (popup_blocker_n_hidden (tab) > MAX_HIDDEN_POPUPS) /* bug #160863 */ + { + /* Remove the oldest popup */ + GSList *l = tab->priv->hidden_popups; + + while (l->next->next != NULL) + { + l = l->next; + } + + popup = (PopupInfo *) l->next->data; + popups_manager_free_info (popup); + + l->next = NULL; + } + else + { + g_object_notify (G_OBJECT (tab), "hidden-popup-count"); + } } static gboolean |