[Xfce4-commits] <midori:master> Turn view->memory into a static variable

Christian Dywan noreply at xfce.org
Sat Nov 13 15:22:01 CET 2010


Updating branch refs/heads/master
         to f3831c515784b880d8d4b04c125db585ab53b06d (commit)
       from 8e60b836f6c94416127089d82e9d9a3fe648bc67 (commit)

commit f3831c515784b880d8d4b04c125db585ab53b06d
Author: Christian Dywan <christian at twotoasts.de>
Date:   Sat Nov 13 15:11:02 2010 +0100

    Turn view->memory into a static variable

 midori/midori-view.c |   24 +++++++++++++++++++++---
 1 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/midori/midori-view.c b/midori/midori-view.c
index c34c684..55ef7c6 100644
--- a/midori/midori-view.c
+++ b/midori/midori-view.c
@@ -3051,6 +3051,16 @@ katze_net_object_maybe_unref (gpointer object)
         g_object_unref (object);
 }
 
+static GHashTable* midori_view_get_memory (void)
+{
+    static GHashTable* memory = NULL;
+    if (!memory)
+        memory = g_hash_table_new_full (g_str_hash, g_str_equal,
+            g_free, katze_net_object_maybe_unref);
+    return g_hash_table_ref (memory);
+
+}
+
 static void
 midori_view_init (MidoriView* view)
 {
@@ -3060,8 +3070,7 @@ midori_view_init (MidoriView* view)
     view->mime_type = g_strdup ("");
     view->icon = NULL;
     view->icon_uri = NULL;
-    view->memory = g_hash_table_new_full (g_str_hash, g_str_equal,
-        g_free, katze_net_object_maybe_unref);
+    view->memory = midori_view_get_memory ();
     view->progress = 0.0;
     view->load_status = MIDORI_LOAD_FINISHED;
     view->minimized = FALSE;
@@ -3110,13 +3119,22 @@ midori_view_finalize (GObject* object)
         midori_view_item_meta_data_changed, view);
 
     if (view->thumb_view)
+    {
         gtk_widget_destroy (view->thumb_view);
+        view->thumb_view = NULL;
+    }
 
     katze_assign (view->uri, NULL);
     katze_assign (view->title, NULL);
     katze_object_assign (view->icon, NULL);
     katze_assign (view->icon_uri, NULL);
-    g_hash_table_destroy (view->memory);
+
+    if (view->memory)
+    {
+        g_hash_table_unref (view->memory);
+        view->memory = NULL;
+    }
+
     katze_assign (view->statusbar_text, NULL);
     katze_assign (view->link_uri, NULL);
     katze_assign (view->selected_text, NULL);



More information about the Xfce4-commits mailing list