From d27fec22c3f50bcd3c384256b8ad75d662033c7f Mon Sep 17 00:00:00 2001
From: Ignacio Casal Quinteiro <icq@gnome.org>
Date: Sun, 13 Mar 2011 11:01:37 +0100
Subject: [PATCH] Do not use G_CONST_RETURN anymore. This macro is going to be
 deprecated.

---
 gtksourceview/gtksourcelanguagemanager.c    |    4 ++--
 gtksourceview/gtksourcelanguagemanager.h    |    6 ++----
 gtksourceview/gtksourcestylescheme.c        |    4 ++--
 gtksourceview/gtksourcestylescheme.h        |    3 +--
 gtksourceview/gtksourcestyleschememanager.c |    4 ++--
 gtksourceview/gtksourcestyleschememanager.h |    6 ++----
 6 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/gtksourceview/gtksourcelanguagemanager.c b/gtksourceview/gtksourcelanguagemanager.c
index b431e1f..31deba7 100644
--- a/gtksourceview/gtksourcelanguagemanager.c
+++ b/gtksourceview/gtksourcelanguagemanager.c
@@ -275,7 +275,7 @@ gtk_source_language_manager_set_search_path (GtkSourceLanguageManager *lm,
  * containg a list of language files directories.
  * The array is owned by @lm and must not be modified.
  */
-G_CONST_RETURN gchar* G_CONST_RETURN *
+const gchar * const *
 gtk_source_language_manager_get_search_path (GtkSourceLanguageManager *lm)
 {
 	g_return_val_if_fail (GTK_IS_SOURCE_LANGUAGE_MANAGER (lm), NULL);
@@ -394,7 +394,7 @@ ensure_languages (GtkSourceLanguageManager *lm)
  * no language is available.
  * The array is owned by @lm and must not be modified.
  */
-G_CONST_RETURN gchar* G_CONST_RETURN *
+const gchar * const *
 gtk_source_language_manager_get_language_ids (GtkSourceLanguageManager *lm)
 {
 	g_return_val_if_fail (GTK_IS_SOURCE_LANGUAGE_MANAGER (lm), NULL);
diff --git a/gtksourceview/gtksourcelanguagemanager.h b/gtksourceview/gtksourcelanguagemanager.h
index ce234f5..de7a3aa 100644
--- a/gtksourceview/gtksourcelanguagemanager.h
+++ b/gtksourceview/gtksourcelanguagemanager.h
@@ -63,14 +63,12 @@ GtkSourceLanguageManager *gtk_source_language_manager_new			(void);
 
 GtkSourceLanguageManager *gtk_source_language_manager_get_default		(void);
 
-G_CONST_RETURN gchar* G_CONST_RETURN *
-			  gtk_source_language_manager_get_search_path		(GtkSourceLanguageManager *lm);
+const gchar * const *	  gtk_source_language_manager_get_search_path		(GtkSourceLanguageManager *lm);
 
 void			  gtk_source_language_manager_set_search_path		(GtkSourceLanguageManager *lm,
 										 gchar                   **dirs);
 
-G_CONST_RETURN gchar* G_CONST_RETURN *
-			  gtk_source_language_manager_get_language_ids		(GtkSourceLanguageManager *lm);
+const gchar * const *	  gtk_source_language_manager_get_language_ids		(GtkSourceLanguageManager *lm);
 
 GtkSourceLanguage	 *gtk_source_language_manager_get_language		(GtkSourceLanguageManager *lm,
 										 const gchar              *id);
diff --git a/gtksourceview/gtksourcestylescheme.c b/gtksourceview/gtksourcestylescheme.c
index 6b470e8..d9d41a3 100644
--- a/gtksourceview/gtksourcestylescheme.c
+++ b/gtksourceview/gtksourcestylescheme.c
@@ -318,7 +318,7 @@ gtk_source_style_scheme_get_description (GtkSourceStyleScheme *scheme)
  *
  * Since: 2.0
  */
-G_CONST_RETURN gchar* G_CONST_RETURN *
+const gchar * const *
 gtk_source_style_scheme_get_authors (GtkSourceStyleScheme *scheme)
 {
 	g_return_val_if_fail (GTK_IS_SOURCE_STYLE_SCHEME (scheme), NULL);
@@ -326,7 +326,7 @@ gtk_source_style_scheme_get_authors (GtkSourceStyleScheme *scheme)
 	if (scheme->priv->authors == NULL)
 		return NULL;
 
-	return (G_CONST_RETURN gchar* G_CONST_RETURN *)scheme->priv->authors->pdata;
+	return (const gchar * const *)scheme->priv->authors->pdata;
 }
 
 /**
diff --git a/gtksourceview/gtksourcestylescheme.h b/gtksourceview/gtksourcestylescheme.h
index 501163c..fe74bd2 100644
--- a/gtksourceview/gtksourcestylescheme.h
+++ b/gtksourceview/gtksourcestylescheme.h
@@ -62,8 +62,7 @@ const gchar             *gtk_source_style_scheme_get_id         (GtkSourceStyleS
 const gchar             *gtk_source_style_scheme_get_name       (GtkSourceStyleScheme *scheme);
 const gchar             *gtk_source_style_scheme_get_description(GtkSourceStyleScheme *scheme);
 
-G_CONST_RETURN gchar* G_CONST_RETURN *
-			 gtk_source_style_scheme_get_authors	(GtkSourceStyleScheme *scheme);
+const gchar * const *	 gtk_source_style_scheme_get_authors	(GtkSourceStyleScheme *scheme);
 
 const gchar             *gtk_source_style_scheme_get_filename	(GtkSourceStyleScheme *scheme);
 
diff --git a/gtksourceview/gtksourcestyleschememanager.c b/gtksourceview/gtksourcestyleschememanager.c
index cba042f..eec5d45 100644
--- a/gtksourceview/gtksourcestyleschememanager.c
+++ b/gtksourceview/gtksourcestyleschememanager.c
@@ -516,7 +516,7 @@ gtk_source_style_scheme_manager_prepend_search_path (GtkSourceStyleSchemeManager
  * of string containing the search path.
  * The array is owned by the @manager and must not be modified.
  */
-G_CONST_RETURN gchar* G_CONST_RETURN *
+const gchar * const *
 gtk_source_style_scheme_manager_get_search_path (GtkSourceStyleSchemeManager *manager)
 {
 	g_return_val_if_fail (GTK_IS_SOURCE_STYLE_SCHEME_MANAGER (manager), NULL);
@@ -555,7 +555,7 @@ gtk_source_style_scheme_manager_force_rescan (GtkSourceStyleSchemeManager *manag
  * of string containing the ids of the available style schemes or %NULL if no
  * style scheme is available. The array is owned by the @manager and must not be modified.
  */
-G_CONST_RETURN gchar* G_CONST_RETURN *
+const gchar * const *
 gtk_source_style_scheme_manager_get_scheme_ids (GtkSourceStyleSchemeManager *manager)
 {
 	g_return_val_if_fail (GTK_IS_SOURCE_STYLE_SCHEME_MANAGER (manager), NULL);
diff --git a/gtksourceview/gtksourcestyleschememanager.h b/gtksourceview/gtksourcestyleschememanager.h
index 6effc1c..456e8bf 100644
--- a/gtksourceview/gtksourcestyleschememanager.h
+++ b/gtksourceview/gtksourcestyleschememanager.h
@@ -74,13 +74,11 @@ void 			 gtk_source_style_scheme_manager_append_search_path    (GtkSourceStyleSc
 void 			 gtk_source_style_scheme_manager_prepend_search_path   (GtkSourceStyleSchemeManager	*manager,
 						    				 const gchar			*path);
 
-G_CONST_RETURN gchar* G_CONST_RETURN *
-			 gtk_source_style_scheme_manager_get_search_path	(GtkSourceStyleSchemeManager	*manager);
+const gchar * const *	 gtk_source_style_scheme_manager_get_search_path	(GtkSourceStyleSchemeManager	*manager);
 
 void			 gtk_source_style_scheme_manager_force_rescan		(GtkSourceStyleSchemeManager	*manager);
 
-G_CONST_RETURN gchar* G_CONST_RETURN *
-			 gtk_source_style_scheme_manager_get_scheme_ids		(GtkSourceStyleSchemeManager	*manager);
+const gchar * const *	 gtk_source_style_scheme_manager_get_scheme_ids		(GtkSourceStyleSchemeManager	*manager);
 
 GtkSourceStyleScheme	*gtk_source_style_scheme_manager_get_scheme		(GtkSourceStyleSchemeManager	*manager,
 										 const gchar			*scheme_id);
-- 
1.7.8

