[gtksourceview] Accept a null style scheme in set_style_scheme



commit 4f352be983ad0a2064e307666b2e220bf9aa3c84
Author: Paolo Borelli <pborelli gnome org>
Date:   Tue Dec 29 15:14:23 2009 +0100

    Accept a null style scheme in set_style_scheme

 gtksourceview/gtksourcebuffer.c        |    8 +++++---
 gtksourceview/gtksourcecontextengine.c |    4 ++--
 gtksourceview/gtksourceengine.c        |    2 +-
 3 files changed, 8 insertions(+), 6 deletions(-)
---
diff --git a/gtksourceview/gtksourcebuffer.c b/gtksourceview/gtksourcebuffer.c
index 835beca..dfa6659 100644
--- a/gtksourceview/gtksourcebuffer.c
+++ b/gtksourceview/gtksourcebuffer.c
@@ -1255,6 +1255,7 @@ gtk_source_buffer_set_language (GtkSourceBuffer   *buffer,
 				GtkSourceLanguage *language)
 {
 	g_return_if_fail (GTK_IS_SOURCE_BUFFER (buffer));
+	g_return_if_fail (GTK_IS_SOURCE_LANGUAGE (language) || language == NULL);
 
 	if (buffer->priv->language == language)
 		return;
@@ -1367,14 +1368,15 @@ gtk_source_buffer_ensure_highlight (GtkSourceBuffer   *buffer,
  * @buffer: a #GtkSourceBuffer.
  * @scheme: style scheme.
  *
- * Sets style scheme used by the buffer.
+ * Sets style scheme used by the buffer. If @scheme is %NULL no
+ * style scheme is used.
  **/
 void
 gtk_source_buffer_set_style_scheme (GtkSourceBuffer      *buffer,
 				    GtkSourceStyleScheme *scheme)
 {
 	g_return_if_fail (GTK_IS_SOURCE_BUFFER (buffer));
-	g_return_if_fail (GTK_IS_SOURCE_STYLE_SCHEME (scheme));
+	g_return_if_fail (GTK_IS_SOURCE_STYLE_SCHEME (scheme) || scheme == NULL);
 
 	if (buffer->priv->style_scheme == scheme)
 		return;
@@ -1382,7 +1384,7 @@ gtk_source_buffer_set_style_scheme (GtkSourceBuffer      *buffer,
 	if (buffer->priv->style_scheme)
 		g_object_unref (buffer->priv->style_scheme);
 
-	buffer->priv->style_scheme = g_object_ref (scheme);
+	buffer->priv->style_scheme = scheme ? g_object_ref (scheme) : NULL;
 	update_bracket_match_style (buffer);
 
 	if (buffer->priv->highlight_engine != NULL)
diff --git a/gtksourceview/gtksourcecontextengine.c b/gtksourceview/gtksourcecontextengine.c
index 40d636a..4f4b79d 100644
--- a/gtksourceview/gtksourcecontextengine.c
+++ b/gtksourceview/gtksourcecontextengine.c
@@ -2368,7 +2368,7 @@ gtk_source_context_engine_set_style_scheme (GtkSourceEngine      *engine,
 	GtkSourceContextEngine *ce;
 
 	g_return_if_fail (GTK_IS_SOURCE_CONTEXT_ENGINE (engine));
-	g_return_if_fail (GTK_IS_SOURCE_STYLE_SCHEME (scheme));
+	g_return_if_fail (GTK_IS_SOURCE_STYLE_SCHEME (scheme) || scheme == NULL);
 
 	ce = GTK_SOURCE_CONTEXT_ENGINE (engine);
 
@@ -2378,7 +2378,7 @@ gtk_source_context_engine_set_style_scheme (GtkSourceEngine      *engine,
 	if (ce->priv->style_scheme != NULL)
 		g_object_unref (ce->priv->style_scheme);
 
-	ce->priv->style_scheme = g_object_ref (scheme);
+	ce->priv->style_scheme = scheme ? g_object_ref (scheme) : NULL;
 	g_hash_table_foreach (ce->priv->tags, (GHFunc) set_tag_style_hash_cb, ce);
 }
 
diff --git a/gtksourceview/gtksourceengine.c b/gtksourceview/gtksourceengine.c
index 49622af..699d29e 100644
--- a/gtksourceview/gtksourceengine.c
+++ b/gtksourceview/gtksourceengine.c
@@ -99,7 +99,7 @@ _gtk_source_engine_set_style_scheme (GtkSourceEngine      *engine,
 				     GtkSourceStyleScheme *scheme)
 {
 	g_return_if_fail (GTK_IS_SOURCE_ENGINE (engine));
-	g_return_if_fail (GTK_IS_SOURCE_STYLE_SCHEME (scheme));
+	g_return_if_fail (GTK_IS_SOURCE_STYLE_SCHEME (scheme) || scheme == NULL);
 	g_return_if_fail (GTK_SOURCE_ENGINE_GET_CLASS (engine)->set_style_scheme != NULL);
 
 	GTK_SOURCE_ENGINE_GET_CLASS (engine)->set_style_scheme (engine, scheme);



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