[gtksourceview] Fix GtkSourceCompletionProvider virtual function prototype.



commit 31e8e5732efc17994d03f7f6f7cacda0de9e0b9f
Author: Krzesimir Nowak <qdlacz gmail com>
Date:   Sun Feb 21 20:48:00 2010 +0100

    Fix GtkSourceCompletionProvider virtual function prototype.
    
    This changes get_name() function to return an allocated string,
    updates documentation and fixes usage of this function in other
    parts of gtksourceview library.

 .../words/gtksourcecompletionwords.c               |    4 ++--
 gtksourceview/gtksourcecompletion.c                |   14 ++++++++------
 gtksourceview/gtksourcecompletionprovider.c        |    9 +++++----
 gtksourceview/gtksourcecompletionprovider.h        |    4 ++--
 4 files changed, 17 insertions(+), 14 deletions(-)
---
diff --git a/gtksourceview/completion-providers/words/gtksourcecompletionwords.c b/gtksourceview/completion-providers/words/gtksourcecompletionwords.c
index 1ee4b47..f9b1362 100644
--- a/gtksourceview/completion-providers/words/gtksourcecompletionwords.c
+++ b/gtksourceview/completion-providers/words/gtksourcecompletionwords.c
@@ -94,10 +94,10 @@ G_DEFINE_TYPE_WITH_CODE (GtkSourceCompletionWords,
 			 G_IMPLEMENT_INTERFACE (GTK_TYPE_SOURCE_COMPLETION_PROVIDER,
 				 		gtk_source_completion_words_iface_init))
 
-static const gchar * 
+static gchar *
 gtk_source_completion_words_get_name (GtkSourceCompletionProvider *self)
 {
-	return GTK_SOURCE_COMPLETION_WORDS (self)->priv->name;
+	return g_strdup (GTK_SOURCE_COMPLETION_WORDS (self)->priv->name);
 }
 
 static GdkPixbuf * 
diff --git a/gtksourceview/gtksourcecompletion.c b/gtksourceview/gtksourcecompletion.c
index 2bc82a3..82d0bd4 100644
--- a/gtksourceview/gtksourcecompletion.c
+++ b/gtksourceview/gtksourcecompletion.c
@@ -652,9 +652,9 @@ update_selection_label (GtkSourceCompletion *completion)
 	}
 	else
 	{
-		name = g_markup_escape_text (
-			gtk_source_completion_provider_get_name (visible),
-			-1);
+		gchar *temp_name = gtk_source_completion_provider_get_name (visible);
+		name = g_markup_escape_text (temp_name, -1);
+		g_free (temp_name);
 
 		gtk_image_set_from_pixbuf (GTK_IMAGE (completion->priv->selection_image),
                            (GdkPixbuf *)gtk_source_completion_provider_get_icon (visible));
@@ -2667,7 +2667,7 @@ render_proposal_text_func (GtkTreeViewColumn   *column,
 
 	if (isheader)
 	{
-		gchar const *name;
+		gchar *name;
 
 		gtk_tree_model_get (model, 
 		                    iter, 
@@ -2682,6 +2682,7 @@ render_proposal_text_func (GtkTreeViewColumn   *column,
 			gchar *escaped = g_markup_escape_text (name, -1);
 			label = g_strdup_printf ("<b>%s</b>", escaped);
 			g_free (escaped);
+			g_free (name);
 		}
 		else
 		{
@@ -3155,8 +3156,9 @@ update_completion (GtkSourceCompletion        *completion,
 			GTK_SOURCE_COMPLETION_PROVIDER (item->data);
 
 		DEBUG({
-			g_print ("Populating provider: %s\n", 
-			         gtk_source_completion_provider_get_name (provider));
+			gchar *temp_name = gtk_source_completion_provider_get_name (provider);
+			g_print ("Populating provider: %s\n", temp_name);
+			g_free (temp_name);
 		});
 
 		gtk_source_completion_provider_populate (provider, context);
diff --git a/gtksourceview/gtksourcecompletionprovider.c b/gtksourceview/gtksourcecompletionprovider.c
index 471f87f..755051e 100644
--- a/gtksourceview/gtksourcecompletionprovider.c
+++ b/gtksourceview/gtksourcecompletionprovider.c
@@ -33,7 +33,7 @@
 #include <gtksourceview/gtksourcecompletionprovider.h>
 
 /* Default implementations */
-static const gchar *
+static gchar *
 gtk_source_completion_provider_get_name_default (GtkSourceCompletionProvider *provider)
 {
 	g_return_val_if_reached (NULL);
@@ -176,11 +176,12 @@ gtk_source_completion_provider_get_type ()
  * @provider: The #GtkSourceCompletionProvider
  *
  * Get the name of the provider. This should be a translatable name for
- * display to the user. For example: _("Document word completion provider").
+ * display to the user. For example: _("Document word completion provider"). The
+ * returned string must be freed with g_free().
  *
- * Returns: The name of the provider.
+ * Returns: A new string containing the name of the provider.
  */
-const gchar *
+gchar *
 gtk_source_completion_provider_get_name (GtkSourceCompletionProvider *provider)
 {
 	g_return_val_if_fail (GTK_IS_SOURCE_COMPLETION_PROVIDER (provider), NULL);
diff --git a/gtksourceview/gtksourcecompletionprovider.h b/gtksourceview/gtksourcecompletionprovider.h
index 9ed8493..14e15db 100644
--- a/gtksourceview/gtksourcecompletionprovider.h
+++ b/gtksourceview/gtksourcecompletionprovider.h
@@ -50,7 +50,7 @@ struct _GtkSourceCompletionProviderIface
 {
 	GTypeInterface g_iface;
 	
-	const gchar	*(*get_name)       	(GtkSourceCompletionProvider *provider);
+	gchar		*(*get_name)       	(GtkSourceCompletionProvider *provider);
 	GdkPixbuf	*(*get_icon)       	(GtkSourceCompletionProvider *provider);
 	void 		 (*populate) 		(GtkSourceCompletionProvider *provider,
 						 GtkSourceCompletionContext  *context);
@@ -82,7 +82,7 @@ struct _GtkSourceCompletionProviderIface
 GType		 gtk_source_completion_provider_get_type	(void);
 
 
-const gchar	*gtk_source_completion_provider_get_name	(GtkSourceCompletionProvider *provider);
+gchar		*gtk_source_completion_provider_get_name	(GtkSourceCompletionProvider *provider);
 
 GdkPixbuf	*gtk_source_completion_provider_get_icon	(GtkSourceCompletionProvider *provider);
 



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