]> git.0d.be Git - empathy.git/commitdiff
chat-text-view: cache the chat GSettings
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Mon, 29 Nov 2010 14:47:35 +0000 (15:47 +0100)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Mon, 29 Nov 2010 14:47:35 +0000 (15:47 +0100)
libempathy-gtk/empathy-chat-text-view.c

index e5ff07f8e082c927d2a5a9b9a6916c12328004e5..5d5dcde4636a3e61f3fc969fa399d6797e73ee60 100644 (file)
@@ -69,6 +69,7 @@ typedef struct {
        gboolean              allow_scrolling;
        guint                 notify_system_fonts_id;
        GSettings            *gsettings_desktop;
+       GSettings            *gsettings_chat;
        EmpathySmileyManager *smiley_manager;
        gboolean              only_if_date;
 } EmpathyChatTextViewPriv;
@@ -560,6 +561,7 @@ chat_text_view_finalize (GObject *object)
 
        DEBUG ("%p", object);
 
+       g_object_unref (priv->gsettings_chat);
        g_object_unref (priv->gsettings_desktop);
 
        if (priv->last_contact) {
@@ -635,6 +637,8 @@ empathy_chat_text_view_init (EmpathyChatTextView *view)
                      "cursor-visible", FALSE,
                      NULL);
 
+       priv->gsettings_chat = g_settings_new (EMPATHY_PREFS_CHAT_SCHEMA);
+
        priv->gsettings_desktop = g_settings_new (
                          EMPATHY_PREFS_DESKTOP_INTERFACE_SCHEMA);
        g_signal_connect (priv->gsettings_desktop,
@@ -1407,11 +1411,9 @@ empathy_chat_text_view_append_body (EmpathyChatTextView *view,
        GtkTextIter              start_iter;
        GtkTextIter              iter;
        GtkTextMark             *mark;
-       GSettings               *gsettings_chat;
 
        /* Check if we have to parse smileys */
-       gsettings_chat = g_settings_new (EMPATHY_PREFS_CHAT_SCHEMA);
-       use_smileys = g_settings_get_boolean (gsettings_chat,
+       use_smileys = g_settings_get_boolean (priv->gsettings_chat,
                        EMPATHY_PREFS_CHAT_SHOW_SMILEYS);
 
        if (use_smileys)
@@ -1438,8 +1440,6 @@ empathy_chat_text_view_append_body (EmpathyChatTextView *view,
                                           &iter);
 
        gtk_text_buffer_delete_mark (priv->buffer, mark);
-
-       g_object_unref (gsettings_chat);
 }
 
 void