[rubygem-gtksourceview2] Fix GtkSource#get_mark_category_background return value

Mamoru TASAKA mtasaka at fedoraproject.org
Sat Jan 18 18:51:10 UTC 2014


commit 51a4140962310747e0b6a683b1ddefbcff4cda03
Author: Mamoru TASAKA <mtasaka at fedoraproject.org>
Date:   Sun Jan 19 03:51:11 2014 +0900

    Fix GtkSource#get_mark_category_background return value

 ...2.1.0-get_mark_category_background-retval.patch |   67 ++++++++++++++++++++
 rubygem-gtksourceview2.spec                        |   14 +++--
 2 files changed, 76 insertions(+), 5 deletions(-)
---
diff --git a/rubygem-gtksourceview2-2.1.0-get_mark_category_background-retval.patch b/rubygem-gtksourceview2-2.1.0-get_mark_category_background-retval.patch
new file mode 100644
index 0000000..5e71600
--- /dev/null
+++ b/rubygem-gtksourceview2-2.1.0-get_mark_category_background-retval.patch
@@ -0,0 +1,67 @@
+From 683745cb75584f2282639a227b5fd5239fffb8ae Mon Sep 17 00:00:00 2001
+From: Kouhei Sutou <kou at clear-code.com>
+Date: Fri, 17 Jan 2014 23:05:39 +0900
+Subject: [PATCH] gtksourceview2: fix GtkSource#get_mark_category_background
+ return value
+
+It should return nil when mark_category_background isn't set. The
+document of the method also says it. So this is an implementation bug.
+
+GitHub: fix #215
+
+Reported by mtasaka. Thanks!!!
+---
+ gtksourceview2/ext/gtksourceview2/rbgtksourceview.c | 13 +++++++++----
+ gtksourceview2/test/test_source_view.rb             | 11 ++++++-----
+ 2 files changed, 15 insertions(+), 9 deletions(-)
+
+diff --git a/gtksourceview2/ext/gtksourceview2/rbgtksourceview.c b/gtksourceview2/ext/gtksourceview2/rbgtksourceview.c
+index 0f72f09..3902e5c 100644
+--- a/gtksourceview2/ext/gtksourceview2/rbgtksourceview.c
++++ b/gtksourceview2/ext/gtksourceview2/rbgtksourceview.c
+@@ -143,10 +143,15 @@ static VALUE
+ rg_get_mark_category_background(VALUE self, VALUE category)
+ {
+     GdkColor color;
+-    gtk_source_view_get_mark_category_background(_SELF (self),
+-                         RVAL2CSTR(category),
+-                         &color);
+-    return GDKCOLOR2RVAL(&color);
++    gboolean found;
++    found = gtk_source_view_get_mark_category_background(_SELF (self),
++                                                         RVAL2CSTR(category),
++                                                         &color);
++    if (found) {
++        return GDKCOLOR2RVAL(&color);
++    } else {
++        return Qnil;
++    }
+ }
+ 
+ /*
+diff --git a/gtksourceview2/test/test_source_view.rb b/gtksourceview2/test/test_source_view.rb
+index 95fcb1e..c0092fc 100644
+--- a/gtksourceview2/test/test_source_view.rb
++++ b/gtksourceview2/test/test_source_view.rb
+@@ -6,12 +6,13 @@ class TestSourceView < Test::Unit::TestCase
+ 
+     red_rgb = [65535, 0, 0]
+     red_color = Gdk::Color.parse("red")
+-    assert_not_equal(red_rgb, view.get_mark_category_background("XXX").to_a)
+ 
+-    view.set_mark_category_background("XXX", red_color)
+-    assert_equal(red_rgb, view.get_mark_category_background("XXX").to_a)
++    assert_nil(view.get_mark_category_background("new-category"))
+ 
+-    view.set_mark_category_background("XXX", nil)
+-    assert_not_equal(red_rgb, view.get_mark_category_background("XXX").to_a)
++    view.set_mark_category_background("new-category", red_color)
++    assert_equal(red_rgb, view.get_mark_category_background("new-category").to_a)
++
++    view.set_mark_category_background("new-category", nil)
++    assert_nil(view.get_mark_category_background("new-category"))
+   end
+ end
+-- 
+1.8.5.2
+
diff --git a/rubygem-gtksourceview2.spec b/rubygem-gtksourceview2.spec
index b109d88..5eea99e 100644
--- a/rubygem-gtksourceview2.spec
+++ b/rubygem-gtksourceview2.spec
@@ -9,12 +9,14 @@
 Summary:	Ruby binding of gtksourceview-2.x
 Name:		rubygem-%{gem_name}
 Version:	2.1.0
-Release:	1%{?dist}
+Release:	2%{?dist}
 Group:		Development/Languages
 # from README
 License:	LGPLv2
 URL:		http://ruby-gnome2.sourceforge.jp/
 Source0:	http://rubygems.org/gems/%{gem_name}-%{version}.gem
+# https://github.com/ruby-gnome2/ruby-gnome2/issues/215
+Patch0:	rubygem-gtksourceview2-2.1.0-get_mark_category_background-retval.patch
 
 Requires:	ruby(release)
 BuildRequires:	ruby(release)
@@ -63,6 +65,8 @@ rubygem-%{gem_name}
 gem unpack %{SOURCE0}
 %setup -q -D -T -n  %{gem_name}-%{version}
 
+%patch0 -p2
+
 gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
 
 # Allow ruby-gnome2 no less than ones
@@ -129,11 +133,8 @@ ln -sf /bin/true make
 export PATH=$(pwd):$PATH
 popd
 
-# Currently this causes error
-# https://github.com/ruby-gnome2/ruby-gnome2/issues/215
 xvfb-run \
-	ruby -Ilib:test ./test/run-test.rb || \
-	echo "Need checking"
+	ruby -Ilib:test ./test/run-test.rb
 
 %files
 %defattr(-,root,root,-)
@@ -163,6 +164,9 @@ xvfb-run \
 %{gem_instdir}/test/
 
 %changelog
+* Sun Jan 29 2014 Mamoru TASAKA <mtasaka at fedoraproject.org> - 2.1.0-2
+- Fix GtkSource#get_mark_category_background return value
+
 * Thu Jan 16 2014 Mamoru TASAKA <mtasaka at fedoraproject.org> - 2.1.0-1
 - 2.1.0
 


More information about the scm-commits mailing list