[gtksourceview/gtksourcecompletion] Reuse completion mark in devhelp test provider



commit f89d51d9002349828539fdce98e67994ec17db5f
Author: Jesse van den Kieboom <jessevdk gnome org>
Date:   Sun Sep 27 12:47:19 2009 +0200

    Reuse completion mark in devhelp test provider

 tests/gsc-provider-devhelp.c |   31 ++++++++++++++++++++-----------
 1 files changed, 20 insertions(+), 11 deletions(-)
---
diff --git a/tests/gsc-provider-devhelp.c b/tests/gsc-provider-devhelp.c
index 02dee4b..7734145 100644
--- a/tests/gsc-provider-devhelp.c
+++ b/tests/gsc-provider-devhelp.c
@@ -120,13 +120,6 @@ population_finished (GscProviderDevhelp *devhelp)
 		devhelp->priv->idle_populate_id = 0;
 	}
 	
-	if (devhelp->priv->completion_mark)
-	{
-		gtk_text_buffer_delete_mark (gtk_text_mark_get_buffer (devhelp->priv->completion_mark),
-		                             devhelp->priv->completion_mark);
-		devhelp->priv->completion_mark = NULL;
-	}
-	
 	g_free (devhelp->priv->word);
 	devhelp->priv->word = NULL;
 	
@@ -179,10 +172,20 @@ get_word_at_iter (GscProviderDevhelp *devhelp,
 		return NULL;
 	}
 	
-	devhelp->priv->completion_mark = gtk_text_buffer_create_mark (gtk_text_iter_get_buffer (iter),
-	                                                              NULL,
-	                                                              &start,
-	                                                              TRUE);
+	if (devhelp->priv->completion_mark)
+	{
+		gtk_text_buffer_move_mark (gtk_text_iter_get_buffer (iter),
+		                           devhelp->priv->completion_mark,
+		                           &start);
+	}
+	else
+	{
+		devhelp->priv->completion_mark = gtk_text_buffer_create_mark (gtk_text_iter_get_buffer (iter),
+		                                                              NULL,
+		                                                              &start,
+		                                                              TRUE);
+	}
+	
 	return gtk_text_iter_get_text (&start, iter);
 }
 
@@ -532,6 +535,12 @@ gsc_provider_devhelp_finalize (GObject *object)
 	{
 		g_object_unref (provider->priv->icon);
 	}
+		
+	if (provider->priv->completion_mark)
+	{
+		gtk_text_buffer_delete_mark (gtk_text_mark_get_buffer (provider->priv->completion_mark),
+		                             provider->priv->completion_mark);
+	}
 	
 	G_OBJECT_CLASS (gsc_provider_devhelp_parent_class)->finalize (object);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]