[gedit] GeditDocument: save_metadata() static function
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] GeditDocument: save_metadata() static function
- Date: Sat, 21 Jun 2014 18:28:57 +0000 (UTC)
commit 44af8529cf35ae0e2b0bb8fbfd765dd6f2aebddb
Author: Sébastien Wilmet <swilmet gnome org>
Date: Sat Jun 21 19:57:11 2014 +0200
GeditDocument: save_metadata() static function
So dispose() is smaller.
gedit/gedit-document.c | 78 ++++++++++++++++++++++++------------------------
1 files changed, 39 insertions(+), 39 deletions(-)
---
diff --git a/gedit/gedit-document.c b/gedit/gedit-document.c
index 07f1cb0..88497e7 100644
--- a/gedit/gedit-document.c
+++ b/gedit/gedit-document.c
@@ -213,55 +213,55 @@ set_compression_type (GeditDocument *doc,
}
static void
-gedit_document_dispose (GObject *object)
+save_metadata (GeditDocument *doc)
{
- GeditDocument *doc = GEDIT_DOCUMENT (object);
-
- gedit_debug (DEBUG_DOCUMENT);
+ const gchar *language = NULL;
+ GtkTextIter iter;
+ gchar *position;
- /* Metadata must be saved here and not in finalize
- * because the language is gone by the time finalize runs.
- * beside if some plugin prevents proper finalization by
- * holding a ref to the doc, we still save the metadata */
- if ((!doc->priv->dispose_has_run) && (doc->priv->location != NULL))
+ if (doc->priv->language_set_by_user)
{
- GtkTextIter iter;
- gchar *position;
- const gchar *language = NULL;
+ GtkSourceLanguage *lang = gedit_document_get_language (doc);
- if (doc->priv->language_set_by_user)
- {
- GtkSourceLanguage *lang;
+ language = lang != NULL ? gtk_source_language_get_id (lang) : "_NORMAL_";
+ }
- lang = gedit_document_get_language (doc);
+ gtk_text_buffer_get_iter_at_mark (GTK_TEXT_BUFFER (doc),
+ &iter,
+ gtk_text_buffer_get_insert (GTK_TEXT_BUFFER (doc)));
- if (lang == NULL)
- language = "_NORMAL_";
- else
- language = gtk_source_language_get_id (lang);
- }
+ position = g_strdup_printf ("%d", gtk_text_iter_get_offset (&iter));
- gtk_text_buffer_get_iter_at_mark (
- GTK_TEXT_BUFFER (doc),
- &iter,
- gtk_text_buffer_get_insert (GTK_TEXT_BUFFER (doc)));
+ if (language == NULL)
+ {
+ gedit_document_set_metadata (doc,
+ GEDIT_METADATA_ATTRIBUTE_POSITION, position,
+ NULL);
+ }
+ else
+ {
+ gedit_document_set_metadata (doc,
+ GEDIT_METADATA_ATTRIBUTE_POSITION, position,
+ GEDIT_METADATA_ATTRIBUTE_LANGUAGE, language,
+ NULL);
+ }
- position = g_strdup_printf ("%d",
- gtk_text_iter_get_offset (&iter));
+ g_free (position);
+}
- if (language == NULL)
- {
- gedit_document_set_metadata (doc, GEDIT_METADATA_ATTRIBUTE_POSITION,
- position, NULL);
- }
- else
- {
- gedit_document_set_metadata (doc, GEDIT_METADATA_ATTRIBUTE_POSITION,
- position, GEDIT_METADATA_ATTRIBUTE_LANGUAGE,
- language, NULL);
- }
+static void
+gedit_document_dispose (GObject *object)
+{
+ GeditDocument *doc = GEDIT_DOCUMENT (object);
+
+ gedit_debug (DEBUG_DOCUMENT);
- g_free (position);
+ /* Metadata must be saved here and not in finalize because the language
+ * is gone by the time finalize runs.
+ */
+ if ((!doc->priv->dispose_has_run) && (doc->priv->location != NULL))
+ {
+ save_metadata (doc);
}
g_clear_object (&doc->priv->loader);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]