aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog17
-rw-r--r--embed/ephy-embed-event.c3
-rw-r--r--src/ephy-favicon-action.c30
-rw-r--r--src/ephy-window.c1
4 files changed, 44 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index eef09ea1f..37ed5b63c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
2003-01-20 Marco Pesenti Gritti <marco@it.gnome.org>
+ * embed/ephy-embed-event.c: (ephy_embed_event_finalize):
+
+ Fix a stupid mistake porting galeon changes, no more
+ freeze.
+
+ * src/ephy-favicon-action.c: (ephy_favicon_action_sync_icon),
+ (ephy_favicon_action_class_init), (ephy_favicon_action_init),
+ (ephy_favicon_action_finalize):
+
+ Ref favicon cache.
+
+ * src/ephy-window.c: (ephy_window_init):
+
+ Initialize ppview pointer.
+
+2003-01-20 Marco Pesenti Gritti <marco@it.gnome.org>
+
* Merge eog-menu-api branch
2003-01-20 Marco Pesenti Gritti <marco@it.gnome.org>
diff --git a/embed/ephy-embed-event.c b/embed/ephy-embed-event.c
index 45993dadb..440eabadc 100644
--- a/embed/ephy-embed-event.c
+++ b/embed/ephy-embed-event.c
@@ -102,9 +102,6 @@ ephy_embed_event_finalize (GObject *object)
g_return_if_fail (event->priv != NULL);
- g_hash_table_foreach_remove (event->priv->props,
- (GHRFunc)g_free,
- NULL);
g_hash_table_destroy (event->priv->props);
g_free (event->priv);
diff --git a/src/ephy-favicon-action.c b/src/ephy-favicon-action.c
index 9fa68acf2..84dcbca45 100644
--- a/src/ephy-favicon-action.c
+++ b/src/ephy-favicon-action.c
@@ -28,6 +28,7 @@ struct EphyFaviconActionPrivate
{
EphyWindow *window;
char *icon;
+ EphyFaviconCache *cache;
};
enum
@@ -39,6 +40,7 @@ enum
static void ephy_favicon_action_init (EphyFaviconAction *action);
static void ephy_favicon_action_class_init (EphyFaviconActionClass *class);
+static void ephy_favicon_action_finalize (GObject *object);
static GObjectClass *parent_class = NULL;
@@ -128,16 +130,13 @@ ephy_favicon_action_sync_icon (EggAction *action, GParamSpec *pspec,
char *url;
GtkWidget *image;
GdkPixbuf *pixbuf = NULL;
- EphyFaviconCache *cache;
-
- cache = ephy_embed_shell_get_favicon_cache (EPHY_EMBED_SHELL (ephy_shell));
url = fav_action->priv->icon;
image = GTK_WIDGET (g_object_get_data (G_OBJECT (proxy), "image"));
if (url)
{
- pixbuf = ephy_favicon_cache_get (cache, url);
+ pixbuf = ephy_favicon_cache_get (fav_action->priv->cache, url);
}
if (pixbuf)
@@ -220,6 +219,7 @@ ephy_favicon_action_class_init (EphyFaviconActionClass *class)
object_class->set_property = ephy_favicon_action_set_property;
object_class->get_property = ephy_favicon_action_get_property;
+ object_class->finalize = ephy_favicon_action_finalize;
parent_class = g_type_class_peek_parent (class);
action_class = EGG_ACTION_CLASS (class);
@@ -249,4 +249,26 @@ ephy_favicon_action_init (EphyFaviconAction *action)
{
action->priv = g_new0 (EphyFaviconActionPrivate, 1);
action->priv->icon = NULL;
+
+ action->priv->cache = ephy_embed_shell_get_favicon_cache
+ (EPHY_EMBED_SHELL (ephy_shell));
+ g_object_ref (action->priv->cache);
+}
+
+static void
+ephy_favicon_action_finalize (GObject *object)
+{
+ EphyFaviconAction *action;
+
+ g_return_if_fail (EPHY_IS_FAVICON_ACTION (object));
+
+ action = EPHY_FAVICON_ACTION (object);
+
+ g_return_if_fail (action->priv != NULL);
+
+ g_object_unref (action->priv->cache);
+
+ g_free (action->priv);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
}
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 8cca7ba26..43bf353f3 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -526,6 +526,7 @@ ephy_window_init (EphyWindow *window)
window->priv->ignore_layout_toggles = FALSE;
window->priv->closing = FALSE;
window->priv->has_default_size = FALSE;
+ window->priv->ppview_toolbar = NULL;
cache = ephy_embed_shell_get_favicon_cache (EPHY_EMBED_SHELL (ephy_shell));
g_signal_connect_object (G_OBJECT (cache),