You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(20) |
Jun
(46) |
Jul
(58) |
Aug
(103) |
Sep
(153) |
Oct
(192) |
Nov
(228) |
Dec
(213) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(61) |
Feb
(114) |
Mar
(103) |
Apr
(51) |
May
(84) |
Jun
(38) |
Jul
(125) |
Aug
(324) |
Sep
(120) |
Oct
(98) |
Nov
(145) |
Dec
(108) |
2004 |
Jan
(75) |
Feb
(72) |
Mar
(203) |
Apr
(33) |
May
(59) |
Jun
(39) |
Jul
(41) |
Aug
(108) |
Sep
(39) |
Oct
(74) |
Nov
(98) |
Dec
(21) |
2005 |
Jan
(113) |
Feb
(93) |
Mar
(113) |
Apr
(8) |
May
(11) |
Jun
(98) |
Jul
(91) |
Aug
(39) |
Sep
(149) |
Oct
(199) |
Nov
(29) |
Dec
(4) |
2006 |
Jan
(20) |
Feb
(6) |
Mar
(19) |
Apr
(21) |
May
(119) |
Jun
(105) |
Jul
(63) |
Aug
(10) |
Sep
(18) |
Oct
(26) |
Nov
(44) |
Dec
(113) |
2007 |
Jan
(14) |
Feb
(14) |
Mar
(11) |
Apr
(8) |
May
(7) |
Jun
(49) |
Jul
(188) |
Aug
(32) |
Sep
(12) |
Oct
(32) |
Nov
(79) |
Dec
(27) |
2008 |
Jan
(54) |
Feb
(32) |
Mar
(104) |
Apr
(247) |
May
(51) |
Jun
(25) |
Jul
(6) |
Aug
(13) |
Sep
(60) |
Oct
(63) |
Nov
(49) |
Dec
(10) |
2009 |
Jan
(132) |
Feb
(14) |
Mar
(16) |
Apr
(3) |
May
(23) |
Jun
(10) |
Jul
(14) |
Aug
(12) |
Sep
(24) |
Oct
(6) |
Nov
|
Dec
(6) |
2010 |
Jan
(12) |
Feb
(13) |
Mar
(2) |
Apr
(13) |
May
(7) |
Jun
(3) |
Jul
(6) |
Aug
|
Sep
(156) |
Oct
(57) |
Nov
(9) |
Dec
(2) |
2011 |
Jan
(109) |
Feb
(431) |
Mar
(17) |
Apr
|
May
(8) |
Jun
(25) |
Jul
(12) |
Aug
(9) |
Sep
(80) |
Oct
(244) |
Nov
(341) |
Dec
(559) |
2012 |
Jan
(137) |
Feb
(185) |
Mar
(6) |
Apr
(30) |
May
(26) |
Jun
(3) |
Jul
(25) |
Aug
(5) |
Sep
(4) |
Oct
(2) |
Nov
(16) |
Dec
(190) |
2013 |
Jan
(204) |
Feb
(70) |
Mar
(137) |
Apr
(180) |
May
(149) |
Jun
(39) |
Jul
(22) |
Aug
(8) |
Sep
(78) |
Oct
(488) |
Nov
(134) |
Dec
(138) |
2014 |
Jan
(18) |
Feb
(148) |
Mar
(238) |
Apr
(177) |
May
(45) |
Jun
(36) |
Jul
(176) |
Aug
(33) |
Sep
(114) |
Oct
(265) |
Nov
(263) |
Dec
(184) |
2015 |
Jan
(163) |
Feb
(44) |
Mar
(196) |
Apr
(184) |
May
(308) |
Jun
(132) |
Jul
(81) |
Aug
(76) |
Sep
(440) |
Oct
(125) |
Nov
(75) |
Dec
(111) |
2016 |
Jan
(210) |
Feb
(88) |
Mar
(86) |
Apr
(137) |
May
(145) |
Jun
(257) |
Jul
(35) |
Aug
(312) |
Sep
(69) |
Oct
(43) |
Nov
(91) |
Dec
(103) |
2017 |
Jan
(72) |
Feb
(50) |
Mar
(80) |
Apr
(238) |
May
(122) |
Jun
(47) |
Jul
(197) |
Aug
(92) |
Sep
(21) |
Oct
(45) |
Nov
(52) |
Dec
(26) |
2018 |
Jan
(3) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: Kouhei S. <nu...@co...> - 2017-07-15 07:39:57
|
Kouhei Sutou 2017-07-15 16:35:04 +0900 (Sat, 15 Jul 2017) New Revision: 3edfdca90f446569c2671dbb927d741375ff5245 https://github.com/ruby-gnome2/ruby-gnome2/commit/3edfdca90f446569c2671dbb927d741375ff5245 Message: Bump version Modified files: glib2/ext/glib2/rbglib.h Modified: glib2/ext/glib2/rbglib.h (+1 -1) =================================================================== --- glib2/ext/glib2/rbglib.h 2017-07-15 13:10:40 +0900 (13b710c) +++ glib2/ext/glib2/rbglib.h 2017-07-15 16:35:04 +0900 (4db750b) @@ -36,7 +36,7 @@ extern "C" { #define RBGLIB_MAJOR_VERSION 3 #define RBGLIB_MINOR_VERSION 1 -#define RBGLIB_MICRO_VERSION 8 +#define RBGLIB_MICRO_VERSION 9 #ifndef RB_ZALLOC # ifdef ZALLOC |
From: Kouhei S. <nu...@co...> - 2017-07-15 07:39:57
|
Kouhei Sutou 2017-07-15 16:37:55 +0900 (Sat, 15 Jul 2017) New Revision: 3c7c2f0c94eb75d15dd5275b78d51d79f92446a3 https://github.com/ruby-gnome2/ruby-gnome2/commit/3c7c2f0c94eb75d15dd5275b78d51d79f92446a3 Message: windows: unthread again It's difficult to find gems that are failed to "gem push". Modified files: Rakefile Modified: Rakefile (+2 -6) =================================================================== --- Rakefile 2017-07-15 16:35:04 +0900 (52ee61e) +++ Rakefile 2017-07-15 16:37:55 +0900 (185f3b2) @@ -501,7 +501,6 @@ namespace :gem do desc "push all Windows gems" task :push do - threads = [] windows_gnome2_packages.each do |package| architectures = [ "x86-mingw32", @@ -509,13 +508,10 @@ namespace :gem do ] architectures.each do |architecture| base_name = "#{package}-#{version}-#{architecture}.gem" - threads << Thread.new(base_name) do |local_base_name| - ruby("-S", "gem", "push", - File.join("build", "pkg", local_base_name)) - end + ruby("-S", "gem", "push", + File.join("build", "pkg", local_base_name)) end end - threads.each(&:join) end end end |
From: Travis CI <bu...@tr...> - 2017-07-15 06:29:29
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4490 Status: Passed Duration: 22 minutes and 16 seconds Commit: 99aa4af (3.1.8) Author: Kouhei Sutou Message: Add 3.1.8 entry View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/3.1.8 View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/253854822?utm_source=email&utm_medium=notification -- You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications |
From: Kouhei S. <nu...@co...> - 2017-07-15 04:11:18
|
Kouhei Sutou 2017-07-15 13:10:40 +0900 (Sat, 15 Jul 2017) New Revision: 99aa4afc0904ef2b6761ab17fd343aa9b0f7392a https://github.com/ruby-gnome2/ruby-gnome2/commit/99aa4afc0904ef2b6761ab17fd343aa9b0f7392a Message: Add 3.1.8 entry Modified files: NEWS Modified: NEWS (+58 -0) =================================================================== --- NEWS 2017-07-14 11:11:52 +0900 (7926f81) +++ NEWS 2017-07-15 13:10:40 +0900 (2e7cce2) @@ -2,6 +2,64 @@ = NEWS +== Ruby-GNOME2 3.1.8: 2017-07-15 + +This is a bug fix release for macOS install. + +=== Changes + +==== Ruby/GLib2 + + * Improvements + * Supported (({--enable-debug})) for C++ sources. + + * Fixes + * Fixed auto libffi detection for Homebrew. + [GitHub#1058][Reported by Andy Meneely] + +==== Ruby/Pango + + * Improvements + * (({Pango::Rectangle#to_a])): Added. + +==== Ruby/GObjectIntrospection + + * Improvements + * Supported non-pointer struct field reader. + [GitHub#1042][Reported by cedlemo] + * Supported (({GHashTable<UTF-8, UTF-8>})). + +==== Ruby/CairoGObject + + * Improvements + * CentOS 7: Supported auto native package install. + +==== Ruby/GDK3 + + * Improvements + * CentOS 7: Supported auto native package install. + +==== Ruby/GTK3 + + * Improvements + * Made more demos workable. + +==== Ruby/WebKit2GTK + + * Improvements + * Added a sample that uses proxy. + +==== Ruby/GtkSourceView3 + + * Improvements + * CentOS 7: Supported auto native package install. + +=== Thanks + + * cedlemo + + * Andy Meneely + == Ruby-GNOME2 3.1.7: 2017-07-10 === Changes |
From: Kouhei S. <nu...@co...> - 2017-07-14 02:12:53
|
Kouhei Sutou 2017-07-14 11:11:52 +0900 (Fri, 14 Jul 2017) New Revision: ce40609a7b13fa5062dfe3bc3b547af6ce1c0523 https://github.com/ruby-gnome2/ruby-gnome2/commit/ce40609a7b13fa5062dfe3bc3b547af6ce1c0523 Message: cairo-gobject gdk3 gtksourceview3: support auto native package install on CentOS 7 GitHub: fix #1057 Reported by Abby Archer. Thanks!!! Modified files: cairo-gobject/ext/cairo-gobject/extconf.rb gdk3/dependency-check/Rakefile gtksourceview3/dependency-check/Rakefile Modified: cairo-gobject/ext/cairo-gobject/extconf.rb (+1 -1) =================================================================== --- cairo-gobject/ext/cairo-gobject/extconf.rb 2017-07-14 11:06:36 +0900 (77b65ed) +++ cairo-gobject/ext/cairo-gobject/extconf.rb 2017-07-14 11:11:52 +0900 (b87feb7) @@ -63,7 +63,7 @@ setup_windows(module_name, base_dir) unless required_pkg_config_package(package_id, :alt_linux => "libcairo-devel", :debian => "libcairo2-dev", - :fedora => "cairo-gobject-devel", + :redhat => "cairo-gobject-devel", :arch_linux => "cairo", :homebrew => "cairo") exit(false) Modified: gdk3/dependency-check/Rakefile (+1 -1) =================================================================== --- gdk3/dependency-check/Rakefile 2017-07-14 11:06:36 +0900 (81279b2) +++ gdk3/dependency-check/Rakefile 2017-07-14 11:11:52 +0900 (2414522) @@ -32,7 +32,7 @@ namespace :dependency do unless PKGConfig.check_version?("gdk-3.0") unless NativePackageInstaller.install(:altlinux => "libgtk+3-devel", :debian => "libgtk-3-dev", - :fedora => "gtk3-devel", + :redhat => "gtk3-devel", :homebrew => "gtk+3", :macports => "gtk3", :msys2 => "gtk3") Modified: gtksourceview3/dependency-check/Rakefile (+1 -1) =================================================================== --- gtksourceview3/dependency-check/Rakefile 2017-07-14 11:06:36 +0900 (6589c51) +++ gtksourceview3/dependency-check/Rakefile 2017-07-14 11:11:52 +0900 (03f3221) @@ -32,7 +32,7 @@ namespace :dependency do unless PKGConfig.check_version?("gtksourceview-3.0") unless NativePackageInstaller.install(:altlinux => "libgtksourceview3-devel", :debian => "libgtksourceview-3.0-dev", - :fedora => "gtksourceview3-devel", + :redhat => "gtksourceview3-devel", :homebrew => "gtksourceview3", :macports => "gtksourceview3", :msys2 => "gtksourceview3") |
From: Kouhei S. <nu...@co...> - 2017-07-14 02:08:04
|
Kouhei Sutou 2017-07-14 11:06:36 +0900 (Fri, 14 Jul 2017) New Revision: 6084b1e6958665ebf80b9a41f4fb4d585a1bd580 https://github.com/ruby-gnome2/ruby-gnome2/commit/6084b1e6958665ebf80b9a41f4fb4d585a1bd580 Message: glib2: fix auto libffi detection for Homebrew GitHub: fix #1058 Reported by Andy Meneely. Thanks!!! Modified files: glib2/lib/mkmf-gnome2.rb Modified: glib2/lib/mkmf-gnome2.rb (+1 -1) =================================================================== --- glib2/lib/mkmf-gnome2.rb 2017-07-13 14:06:09 +0900 (1ba46a4) +++ glib2/lib/mkmf-gnome2.rb 2017-07-14 11:06:36 +0900 (fb888aa) @@ -151,7 +151,7 @@ def setup_homebrew_libffi platform = NativePackageInstaller::Platform.detect return unless platform.is_a?(NativePackageInstaller::Platform::Homebrew) - libffi_prefix = `brew --prefix libffi` + libffi_prefix = `brew --prefix libffi`.chomp PKGConfig.add_path("#{libffi_prefix}/lib/pkgconfig") end |
From: Kouhei S. <nu...@co...> - 2017-07-13 05:06:55
|
Kouhei Sutou 2017-07-13 14:06:09 +0900 (Thu, 13 Jul 2017) New Revision: 9bbcc0bb6b86cc7ffb5c31f058082b39bcb52dc2 https://github.com/ruby-gnome2/ruby-gnome2/commit/9bbcc0bb6b86cc7ffb5c31f058082b39bcb52dc2 Message: glib2: use $CXXFLAGS for C++ compiler flags Modified files: glib2/lib/mkmf-gnome2.rb Modified: glib2/lib/mkmf-gnome2.rb (+2 -2) =================================================================== --- glib2/lib/mkmf-gnome2.rb 2017-07-11 23:55:46 +0900 (272741b) +++ glib2/lib/mkmf-gnome2.rb 2017-07-13 14:06:09 +0900 (1ba46a4) @@ -48,8 +48,8 @@ checking_for(checking_message("--enable-debug-build option")) do $CFLAGS = disable_optimization_build_flag($CFLAGS) $CFLAGS = enable_debug_build_flag($CFLAGS) - CONFIG["CXXFLAGS"] = disable_optimization_build_flag(CONFIG["CXXFLAGS"]) - CONFIG["CXXFLAGS"] = enable_debug_build_flag(CONFIG["CXXFLAGS"]) + $CXXFLAGS = disable_optimization_build_flag($CXXFLAGS) + $CXXFLAGS = enable_debug_build_flag($CXXFLAGS) end enable_debug_build end |
From: Kouhei S. <nu...@co...> - 2017-07-11 14:56:27
|
Kouhei Sutou 2017-07-11 23:55:46 +0900 (Tue, 11 Jul 2017) New Revision: efd7b62b674d5ee4bf8b0c574aaec0ad1bff1d72 https://github.com/ruby-gnome2/ruby-gnome2/commit/efd7b62b674d5ee4bf8b0c574aaec0ad1bff1d72 Message: webkit2-gtk sample: add proxy sample Modified files: webkit2-gtk/sample/browser.rb Modified: webkit2-gtk/sample/browser.rb (+7 -0) =================================================================== --- webkit2-gtk/sample/browser.rb 2017-07-11 00:41:08 +0900 (f65b5e6) +++ webkit2-gtk/sample/browser.rb 2017-07-11 23:55:46 +0900 (5757ff1) @@ -25,6 +25,13 @@ window.signal_connect("destroy") do Gtk.main_quit end +# For supporting http_proxy and https_proxy. +# view_context = WebKit2Gtk::WebContext.new +# proxy_settings = WebKit2Gtk::NetworkProxySettings.new +# proxy_settings.add_proxy_for_scheme("http", ENV["http_proxy"]) +# proxy_settings.add_proxy_for_scheme("https", ENV["https_proxy"]) +# view_context.set_network_proxy_settings(:custom, proxy_settings) +# view = WebKit2Gtk::WebView.new(context: view_context) view = WebKit2Gtk::WebView.new view.signal_connect("load-changed") do |_, load_event| p [:load_changed, view.uri, load_event] |
From: Travis CI <bu...@tr...> - 2017-07-10 16:35:18
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4484 Status: Fixed Duration: 30 minutes and 11 seconds Commit: f2dc987 (master) Author: Kouhei Sutou Message: gi: remove debug print View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/7586dc207fbd...f2dc9870b921 View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/252053310?utm_source=email&utm_medium=notification -- You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications |
From: Travis CI <bu...@tr...> - 2017-07-10 16:16:55
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4483 Status: Still Failing Duration: 30 minutes and 2 seconds Commit: 7586dc2 (master) Author: Kouhei Sutou Message: gi: support GHashTable<UTF-8, UTF-8> View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/b19b800b7dc5...7586dc207fbd View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/252051381?utm_source=email&utm_medium=notification -- You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications |
From: Kouhei S. <nu...@co...> - 2017-07-10 15:41:38
|
Kouhei Sutou 2017-07-11 00:41:08 +0900 (Tue, 11 Jul 2017) New Revision: f2dc9870b9211d30ba3ee60a78f11079d8c6374f https://github.com/ruby-gnome2/ruby-gnome2/commit/f2dc9870b9211d30ba3ee60a78f11079d8c6374f Message: gi: remove debug print Modified files: gobject-introspection/ext/gobject-introspection/rb-gi-argument.c Modified: gobject-introspection/ext/gobject-introspection/rb-gi-argument.c (+0 -1) =================================================================== --- gobject-introspection/ext/gobject-introspection/rb-gi-argument.c 2017-07-11 00:36:42 +0900 (3426e6c) +++ gobject-introspection/ext/gobject-introspection/rb-gi-argument.c 2017-07-11 00:41:08 +0900 (54236e0) @@ -1099,7 +1099,6 @@ rb_gi_argument_to_ruby_ghash_utf8_utf8(GHashTable *table) VALUE rb_table; rb_table = rb_hash_new(); - rb_p(rb_table); g_hash_table_foreach(table, rb_gi_argument_to_ruby_ghash_utf8_utf8_body, (gpointer)(rb_table)); |
From: Kouhei S. <nu...@co...> - 2017-07-10 15:37:21
|
Kouhei Sutou 2017-07-11 00:36:42 +0900 (Tue, 11 Jul 2017) New Revision: 7586dc207fbdb236d06be31b6b5cdd2432e126ea https://github.com/ruby-gnome2/ruby-gnome2/commit/7586dc207fbdb236d06be31b6b5cdd2432e126ea Message: gi: support GHashTable<UTF-8, UTF-8> Modified files: gobject-introspection/ext/gobject-introspection/rb-gi-argument.c Modified: gobject-introspection/ext/gobject-introspection/rb-gi-argument.c (+98 -3) =================================================================== --- gobject-introspection/ext/gobject-introspection/rb-gi-argument.c 2017-07-10 23:59:57 +0900 (afd09c0) +++ gobject-introspection/ext/gobject-introspection/rb-gi-argument.c 2017-07-11 00:36:42 +0900 (3426e6c) @@ -1079,6 +1079,101 @@ rb_gi_argument_to_ruby_gslist(GIArgument *argument, GITypeInfo *type_info) return rb_argument; } +static void +rb_gi_argument_to_ruby_ghash_utf8_utf8_body(gpointer key, + gpointer value, + gpointer user_data) +{ + VALUE rb_table = (VALUE)user_data; + VALUE rb_key; + VALUE rb_value; + + rb_key = CSTR2RVAL(key); + rb_value = CSTR2RVAL(value); + rb_hash_aset(rb_table, rb_key, rb_value); +} + +static VALUE +rb_gi_argument_to_ruby_ghash_utf8_utf8(GHashTable *table) +{ + VALUE rb_table; + + rb_table = rb_hash_new(); + rb_p(rb_table); + g_hash_table_foreach(table, + rb_gi_argument_to_ruby_ghash_utf8_utf8_body, + (gpointer)(rb_table)); + return rb_table; +} + +static VALUE +rb_gi_argument_to_ruby_ghash(GIArgument *argument, GITypeInfo *type_info) +{ + VALUE rb_argument; + GITypeInfo *key_type_info; + GITypeTag key_type_tag; + GITypeInfo *value_type_info; + GITypeTag value_type_tag; + + key_type_info = g_type_info_get_param_type(type_info, 0); + key_type_tag = g_type_info_get_tag(key_type_info); + value_type_info = g_type_info_get_param_type(type_info, 1); + value_type_tag = g_type_info_get_tag(value_type_info); + + switch (key_type_tag) { + case GI_TYPE_TAG_VOID: + case GI_TYPE_TAG_BOOLEAN: + case GI_TYPE_TAG_INT8: + case GI_TYPE_TAG_UINT8: + case GI_TYPE_TAG_INT16: + case GI_TYPE_TAG_UINT16: + case GI_TYPE_TAG_INT32: + case GI_TYPE_TAG_UINT32: + case GI_TYPE_TAG_INT64: + case GI_TYPE_TAG_UINT64: + case GI_TYPE_TAG_FLOAT: + case GI_TYPE_TAG_DOUBLE: + case GI_TYPE_TAG_GTYPE: + g_base_info_unref(key_type_info); + g_base_info_unref(value_type_info); + rb_raise(rb_eNotImpError, + "TODO: GIArgument(GHash)[%s][%s] -> Ruby", + g_type_tag_to_string(key_type_tag), + g_type_tag_to_string(value_type_tag)); + break; + case GI_TYPE_TAG_UTF8: + if (value_type_tag == GI_TYPE_TAG_UTF8) { + g_base_info_unref(key_type_info); + g_base_info_unref(value_type_info); + rb_argument = + rb_gi_argument_to_ruby_ghash_utf8_utf8(argument->v_pointer); + break; + } + case GI_TYPE_TAG_FILENAME: + case GI_TYPE_TAG_ARRAY: + case GI_TYPE_TAG_INTERFACE: + case GI_TYPE_TAG_GLIST: + case GI_TYPE_TAG_GSLIST: + case GI_TYPE_TAG_GHASH: + case GI_TYPE_TAG_ERROR: + case GI_TYPE_TAG_UNICHAR: + g_base_info_unref(key_type_info); + g_base_info_unref(value_type_info); + rb_raise(rb_eNotImpError, + "TODO: GIArgument(GHash)[%s][%s] -> Ruby", + g_type_tag_to_string(key_type_tag), + g_type_tag_to_string(value_type_tag)); + break; + default: + g_base_info_unref(key_type_info); + g_base_info_unref(value_type_info); + g_assert_not_reached(); + break; + } + + return rb_argument; +} + static VALUE rb_gi_argument_to_ruby_unichar(GIArgument *argument) { @@ -1183,9 +1278,7 @@ rb_gi_argument_to_ruby(GIArgument *argument, rb_argument = rb_gi_argument_to_ruby_gslist(argument, type_info); break; case GI_TYPE_TAG_GHASH: - rb_raise(rb_eNotImpError, - "TODO: GIArgument(%s) -> Ruby", - g_type_tag_to_string(type_tag)); + rb_argument = rb_gi_argument_to_ruby_ghash(argument, type_info); break; case GI_TYPE_TAG_ERROR: rb_argument = GERROR2RVAL(argument->v_pointer); @@ -1970,6 +2063,8 @@ rb_gi_return_argument_free_container(GIArgument *argument, g_slist_free(argument->v_pointer); break; case GI_TYPE_TAG_GHASH: + g_hash_table_unref(argument->v_pointer); + break; case GI_TYPE_TAG_ERROR: case GI_TYPE_TAG_UNICHAR: rb_raise(rb_eNotImpError, |
From: Travis CI <bu...@tr...> - 2017-07-10 15:36:13
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4481 Status: Broken Duration: 27 minutes and 26 seconds Commit: a41522e (master) Author: Kouhei Sutou Message: gtk3 demo: make workable View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/eef11803ccb1...a41522e1990b View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/252024440?utm_source=email&utm_medium=notification -- You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications |
From: Travis CI <bu...@tr...> - 2017-07-10 15:20:24
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4480 Status: Broken Duration: 33 minutes and 44 seconds Commit: eef1180 (master) Author: Kouhei Sutou Message: pango: add Pango::Rectangle#to_a View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/6a4c1bed5295...eef11803ccb1 View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/252024295?utm_source=email&utm_medium=notification -- You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications |
From: Travis CI <bu...@tr...> - 2017-07-10 15:06:29
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4479 Status: Broken Duration: 8 minutes and 15 seconds Commit: 6a4c1be (master) Author: Kouhei Sutou Message: gi: support not pointer struct field reader GitHub: fix #1042 Reported by cedlemo. Thanks!!! View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/d836174a4515...6a4c1bed5295 View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/252024233?utm_source=email&utm_medium=notification -- You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications |
From: Kouhei S. <nu...@co...> - 2017-07-10 15:00:33
|
Kouhei Sutou 2017-07-10 23:59:57 +0900 (Mon, 10 Jul 2017) New Revision: b19b800b7dc53aa5c090a84686a137a842eae62c https://github.com/ruby-gnome2/ruby-gnome2/commit/b19b800b7dc53aa5c090a84686a137a842eae62c Message: gi: use gtype if available Modified files: gobject-introspection/ext/gobject-introspection/rb-gi-struct-info.c Modified: gobject-introspection/ext/gobject-introspection/rb-gi-struct-info.c (+2 -0) =================================================================== --- gobject-introspection/ext/gobject-introspection/rb-gi-struct-info.c 2017-07-10 23:28:57 +0900 (7581053) +++ gobject-introspection/ext/gobject-introspection/rb-gi-struct-info.c 2017-07-10 23:59:57 +0900 (65d65fd) @@ -54,6 +54,8 @@ rb_gi_struct_info_to_ruby(GIStructInfo *info, if (gtype == G_TYPE_VARIANT) { GVariant *variant = object; return rbg_variant_to_ruby(variant); + } else if (gtype != G_TYPE_NONE) { + return BOXED2RVAL(target_object, gtype); } namespace = g_base_info_get_namespace(base_info); |
From: Travis CI <bu...@tr...> - 2017-07-10 14:52:44
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4479 Status: Broken Duration: 22 minutes and 55 seconds Commit: 6a4c1be (master) Author: Kouhei Sutou Message: gi: support not pointer struct field reader GitHub: fix #1042 Reported by cedlemo. Thanks!!! View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/d836174a4515...6a4c1bed5295 View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/252024233?utm_source=email&utm_medium=notification -- You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications |
From: Kouhei S. <nu...@co...> - 2017-07-10 14:29:40
|
Kouhei Sutou 2017-07-10 23:28:57 +0900 (Mon, 10 Jul 2017) New Revision: a41522e1990b202f68fdf7cd738c53fb17bf05e5 https://github.com/ruby-gnome2/ruby-gnome2/commit/a41522e1990b202f68fdf7cd738c53fb17bf05e5 Message: gtk3 demo: make workable Modified files: gtk3/sample/gtk-demo/rotated_text.rb Modified: gtk3/sample/gtk-demo/rotated_text.rb (+6 -5) =================================================================== --- gtk3/sample/gtk-demo/rotated_text.rb 2017-07-10 23:28:26 +0900 (484dc2a) +++ gtk3/sample/gtk-demo/rotated_text.rb 2017-07-10 23:28:57 +0900 (6082333) @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Ruby-GNOME2 Project Team +# Copyright (c) 2016-2017 Ruby-GNOME2 Project Team # This program is licenced under the same licence as Ruby-GNOME2. # =begin @@ -56,7 +56,7 @@ class RotatedTextDemo fancy_shape_renderer(cr, attr, do_path) end - layout.attributes = create_fancy_attr_list_for_layout(layout) + label.attributes = create_fancy_attr_list_for_layout(layout) end def run @@ -73,8 +73,9 @@ class RotatedTextDemo def fancy_shape_renderer(cr, attr, do_path) x, y = cr.current_point cr.translate(x, y) - cr.scale(attr.ink_rect.width / Pango::SCALE, - attr.ink_rect.height / Pango::SCALE) + rect = attr.ink_rect + cr.scale(rect.width / Pango::SCALE, + rect.height / Pango::SCALE) if attr.data == HEART cr.move_to(0.5, 0) @@ -94,7 +95,7 @@ class RotatedTextDemo metrics = layout.context.get_metrics(layout.font_description) ascent = metrics.ascent logical_rect = Pango::Rectangle.new(0, -ascent, ascent, ascent) - ink_rect = logical_rect.dup + ink_rect = Pango::Rectangle.new(0, -ascent, ascent, ascent) attrs = Pango::AttrList.new attr = Pango::AttrShape.new(ink_rect, logical_rect, HEART) |
From: Kouhei S. <nu...@co...> - 2017-07-10 14:29:01
|
Kouhei Sutou 2017-07-10 23:28:26 +0900 (Mon, 10 Jul 2017) New Revision: eef11803ccb19f72e84891500de4ad3595c334e4 https://github.com/ruby-gnome2/ruby-gnome2/commit/eef11803ccb19f72e84891500de4ad3595c334e4 Message: pango: add Pango::Rectangle#to_a Modified files: pango/lib/pango/rectangle.rb Modified: pango/lib/pango/rectangle.rb (+4 -0) =================================================================== --- pango/lib/pango/rectangle.rb 2017-07-10 23:27:28 +0900 (945101c) +++ pango/lib/pango/rectangle.rb 2017-07-10 23:28:26 +0900 (5eb376c) @@ -24,5 +24,9 @@ module Pango self.width = width self.height = height end + + def to_a + [x, y, width, height] + end end end |
From: Kouhei S. <nu...@co...> - 2017-07-10 14:28:59
|
Kouhei Sutou 2017-07-10 23:27:28 +0900 (Mon, 10 Jul 2017) New Revision: 6a4c1bed52952668136324446da8d35b241f7097 https://github.com/ruby-gnome2/ruby-gnome2/commit/6a4c1bed52952668136324446da8d35b241f7097 Message: gi: support not pointer struct field reader GitHub: fix #1042 Reported by cedlemo. Thanks!!! Modified files: gobject-introspection/ext/gobject-introspection/rb-gi-argument.c gobject-introspection/ext/gobject-introspection/rb-gi-field-info.c gobject-introspection/ext/gobject-introspection/rb-gi-interface-info.c gobject-introspection/ext/gobject-introspection/rb-gi-private.h gobject-introspection/ext/gobject-introspection/rb-gi-struct-info.c gobject-introspection/ext/gobject-introspection/rb-gobject-introspection.h Modified: gobject-introspection/ext/gobject-introspection/rb-gi-argument.c (+32 -100) =================================================================== --- gobject-introspection/ext/gobject-introspection/rb-gi-argument.c 2017-07-10 21:41:55 +0900 (2098e6c) +++ gobject-introspection/ext/gobject-introspection/rb-gi-argument.c 2017-07-10 23:27:28 +0900 (afd09c0) @@ -22,59 +22,6 @@ static VALUE rb_cGLibValue = Qnil; -static VALUE -interface_struct_to_ruby(gpointer object, - gboolean duplicate, - G_GNUC_UNUSED GITypeInfo *type_info, - GIBaseInfo *interface_info) -{ - const char *namespace; - const char *name; - VALUE rb_module; - VALUE rb_class; - gpointer target_object = object; - RUBY_DATA_FUNC free_func = NULL; - - namespace = g_base_info_get_namespace(interface_info); - name = g_base_info_get_name(interface_info); - - if (strcmp(namespace, "cairo") == 0) { - gchar *gtype_name; - GType gtype; - - gtype_name = g_strdup_printf("Cairo%s", name); - gtype = g_type_from_name(gtype_name); - g_free(gtype_name); - return BOXED2RVAL(target_object, gtype); - } - - rb_module = rb_const_get(rb_cObject, rb_intern(namespace)); - rb_class = rb_const_get(rb_module, rb_intern(name)); - if (rb_respond_to(rb_class, rb_intern("gtype"))) { - VALUE rb_gtype; - GType gtype; - - rb_gtype = rb_funcall(rb_class, rb_intern("gtype"), 0); - gtype = NUM2ULONG(rb_funcall(rb_gtype, rb_intern("to_i"), 0)); - return BOXED2RVAL(target_object, gtype); - } - - if (duplicate) { - size_t object_size; - object_size = g_struct_info_get_size(interface_info); - target_object = xmalloc(object_size); - memcpy(target_object, object, object_size); - free_func = xfree; - } - return Data_Wrap_Struct(rb_class, NULL, free_func, target_object); -} - -static gpointer -interface_struct_from_ruby(VALUE rb_object) -{ - return DATA_PTR(rb_object); -} - static void array_c_to_ruby_sized_interface(gconstpointer *elements, gint64 n_elements, @@ -107,10 +54,9 @@ array_c_to_ruby_sized_interface(gconstpointer *elements, if (gtype == G_TYPE_NONE) { for (i = 0; i < n_elements; i++) { rb_ary_push(rb_array, - interface_struct_to_ruby((gpointer)elements[i], - FALSE, - element_type_info, - interface_info)); + rb_gi_struct_info_to_ruby(interface_info, + (gpointer)elements[i], + TRUE)); } g_base_info_unref(interface_info); g_base_info_unref(element_type_info); @@ -399,10 +345,9 @@ array_array_interface_to_ruby(GIArgument *array, gpointer element; element = elements->data + (element_size * i); rb_ary_push(rb_array, - interface_struct_to_ruby(element, - TRUE, - element_type_info, - interface_info)); + rb_gi_struct_info_to_ruby(interface_info, + element, + FALSE)); } } else { interface_name = g_info_type_to_string(interface_type); @@ -644,17 +589,9 @@ rb_gi_argument_to_ruby_interface(GIArgument *argument, "TODO: GIArgument(interface)[callback] -> Ruby"); break; case GI_INFO_TYPE_STRUCT: - if (gtype == G_TYPE_NONE) { - rb_interface = interface_struct_to_ruby(argument->v_pointer, - duplicate, - type_info, - interface_info); - } else if (gtype == G_TYPE_VARIANT) { - GVariant *variant = argument->v_pointer; - rb_interface = rbg_variant_to_ruby(variant); - } else { - rb_interface = BOXED2RVAL(argument->v_pointer, gtype); - } + rb_interface = rb_gi_struct_info_to_ruby(interface_info, + argument->v_pointer, + !duplicate); break; case GI_INFO_TYPE_BOXED: rb_raise(rb_eNotImpError, @@ -879,10 +816,9 @@ rb_gi_argument_to_ruby_glist_interface(GIArgument *argument, rb_argument = rb_ary_new(); for (node = argument->v_pointer; node; node = g_list_next(node)) { rb_ary_push(rb_argument, - interface_struct_to_ruby(node->data, - FALSE, - element_type_info, - interface_info)); + rb_gi_struct_info_to_ruby(interface_info, + node->data, + TRUE)); } } else { rb_argument = BOXEDGLIST2RVAL(argument->v_pointer, gtype); @@ -1030,10 +966,9 @@ rb_gi_argument_to_ruby_gslist_interface(GIArgument *argument, rb_argument = rb_ary_new(); for (node = argument->v_pointer; node; node = g_slist_next(node)) { rb_ary_push(rb_argument, - interface_struct_to_ruby(node->data, - FALSE, - element_type_info, - interface_info)); + rb_gi_struct_info_to_ruby(interface_info, + node->data, + TRUE)); } } else { rb_argument = BOXEDGLIST2RVAL(argument->v_pointer, gtype); @@ -3479,7 +3414,7 @@ set_in_array_gtype_arguments_from_ruby(GIArgument *array_argument, typedef struct { GType element_gtype; - gsize element_size; + GIStructInfo *struct_info; VALUE rb_argument; gint n_args; gchar *values; @@ -3489,23 +3424,22 @@ static VALUE set_in_array_interface_struct_arguments_from_ruby_body(VALUE value) { ArrayInterfaceStructFromRubyData *data; + gsize size; gint i; data = (ArrayInterfaceStructFromRubyData *)value; + size = g_struct_info_get_size(data->struct_info); + data->values = xmalloc(size * data->n_args); for (i = 0; i < data->n_args; i++) { VALUE rb_element; gpointer element; rb_element = RARRAY_PTR(data->rb_argument)[i]; - if (data->element_gtype == G_TYPE_NONE) { - element = interface_struct_from_ruby(rb_element); - } else { - element = RVAL2BOXED(rb_element, data->element_gtype); - } - memcpy(data->values + (data->element_size * i), + element = rb_gi_struct_info_from_ruby(data->struct_info, rb_element); + memcpy(data->values + (size * i), element, - data->element_size); + size); } return Qnil; @@ -3517,6 +3451,7 @@ set_in_array_interface_struct_arguments_from_ruby_rescue(VALUE value) ArrayInterfaceStructFromRubyData *data; data = (ArrayInterfaceStructFromRubyData *)value; + g_base_info_unref((GIBaseInfo *)(data->struct_info)); xfree(data->values); rb_exc_raise(rb_errinfo()); @@ -3524,17 +3459,15 @@ set_in_array_interface_struct_arguments_from_ruby_rescue(VALUE value) static void set_in_array_interface_struct_arguments_from_ruby(GIArgument *array_argument, - GType element_gtype, - gsize element_size, + GIStructInfo *struct_info, VALUE rb_argument) { ArrayInterfaceStructFromRubyData data; - data.element_gtype = element_gtype; - data.element_size = element_size; + data.struct_info = struct_info; data.rb_argument = rb_argument; data.n_args = RARRAY_LEN(rb_argument); - data.values = xmalloc(data.element_size * data.n_args); + data.values = NULL; rb_rescue(set_in_array_interface_struct_arguments_from_ruby_body, (VALUE)&data, set_in_array_interface_struct_arguments_from_ruby_rescue, @@ -3551,7 +3484,6 @@ set_in_array_interface_arguments_from_ruby(GIArgument *array_argument, GIInfoType interface_type; GType gtype; const char *interface_name; - gsize size; interface_info = g_type_info_get_interface(element_type_info); interface_type = g_base_info_get_type(interface_info); @@ -3569,12 +3501,12 @@ set_in_array_interface_arguments_from_ruby(GIArgument *array_argument, g_type_name(gtype)); break; case GI_INFO_TYPE_STRUCT: - size = g_struct_info_get_size(interface_info); - g_base_info_unref(interface_info); - set_in_array_interface_struct_arguments_from_ruby(array_argument, - gtype, - size, - rb_argument); + { + GIStructInfo *struct_info = (GIStructInfo *)interface_info; + set_in_array_interface_struct_arguments_from_ruby(array_argument, + struct_info, + rb_argument); + } break; case GI_INFO_TYPE_BOXED: case GI_INFO_TYPE_ENUM: Modified: gobject-introspection/ext/gobject-introspection/rb-gi-field-info.c (+146 -33) =================================================================== --- gobject-introspection/ext/gobject-introspection/rb-gi-field-info.c 2017-07-10 21:41:55 +0900 (58ebfc7) +++ gobject-introspection/ext/gobject-introspection/rb-gi-field-info.c 2017-07-10 23:27:28 +0900 (9179e4a) @@ -71,6 +71,69 @@ rg_type(VALUE self) return GI_BASE_INFO2RVAL_WITH_UNREF(g_field_info_get_type(info)); } +static VALUE +rb_gi_field_info_get_field_raw_interface(GIFieldInfo *info, + gpointer memory, + GITypeInfo *type_info) +{ + VALUE rb_field_value = Qnil; + GIBaseInfo *interface_info; + GIInfoType interface_type; + + interface_info = g_type_info_get_interface(type_info); + interface_type = g_base_info_get_type(interface_info); + switch (interface_type) { + case GI_INFO_TYPE_INVALID: + case GI_INFO_TYPE_FUNCTION: + case GI_INFO_TYPE_CALLBACK: + break; + case GI_INFO_TYPE_STRUCT: + { + GIStructInfo *struct_info = (GIStructInfo *)interface_info; + gint offset; + + offset = g_field_info_get_offset(info); + rb_field_value = rb_gi_struct_info_to_ruby( + struct_info, + (gchar *)memory + offset, + g_type_info_is_pointer(type_info)); + break; + } + case GI_INFO_TYPE_BOXED: + case GI_INFO_TYPE_UNION: + case GI_INFO_TYPE_OBJECT: + { + GIArgument argument; + gint offset; + + offset = g_field_info_get_offset(info); + argument.v_pointer = G_STRUCT_MEMBER(gpointer, memory, offset); + rb_field_value = GI_ARGUMENT2RVAL(&argument, FALSE, type_info, + NULL, NULL, NULL); + } + break; + case GI_INFO_TYPE_ENUM: + case GI_INFO_TYPE_FLAGS: + case GI_INFO_TYPE_INTERFACE: + case GI_INFO_TYPE_CONSTANT: + case GI_INFO_TYPE_INVALID_0: + case GI_INFO_TYPE_VALUE: + case GI_INFO_TYPE_SIGNAL: + case GI_INFO_TYPE_VFUNC: + case GI_INFO_TYPE_PROPERTY: + case GI_INFO_TYPE_FIELD: + case GI_INFO_TYPE_ARG: + case GI_INFO_TYPE_TYPE: + case GI_INFO_TYPE_UNRESOLVED: + break; + default: + break; + } + g_base_info_unref(interface_info); + + return rb_field_value; +} + VALUE rb_gi_field_info_get_field_raw(GIFieldInfo *info, gpointer memory) { @@ -78,36 +141,25 @@ rb_gi_field_info_get_field_raw(GIFieldInfo *info, gpointer memory) gboolean processed = FALSE; GITypeInfo *type_info; GITypeTag type_tag; - VALUE rb_field_value; + VALUE rb_field_value = Qnil; type_info = g_field_info_get_type(info); type_tag = g_type_info_get_tag(type_info); switch (type_tag) { - case GI_TYPE_TAG_INTERFACE: - { - GIBaseInfo *interface_info; - GIInfoType interface_type; - - interface_info = g_type_info_get_interface(type_info); - interface_type = g_base_info_get_type(interface_info); - switch (interface_type) { - case GI_INFO_TYPE_STRUCT: - case GI_INFO_TYPE_UNION: - case GI_INFO_TYPE_BOXED: - { - int offset; - - offset = g_field_info_get_offset(info); - argument.v_pointer = G_STRUCT_MEMBER(gpointer, memory, offset); - processed = TRUE; - } - break; - default: - break; - } - g_base_info_unref(interface_info); - } + case GI_TYPE_TAG_VOID: + case GI_TYPE_TAG_BOOLEAN: + case GI_TYPE_TAG_INT8: + case GI_TYPE_TAG_UINT8: + case GI_TYPE_TAG_INT16: + case GI_TYPE_TAG_UINT16: + case GI_TYPE_TAG_INT32: + case GI_TYPE_TAG_UINT32: + case GI_TYPE_TAG_INT64: + case GI_TYPE_TAG_UINT64: + case GI_TYPE_TAG_FLOAT: + case GI_TYPE_TAG_DOUBLE: + case GI_TYPE_TAG_GTYPE: break; case GI_TYPE_TAG_UTF8: { @@ -117,6 +169,25 @@ rb_gi_field_info_get_field_raw(GIFieldInfo *info, gpointer memory) processed = TRUE; } break; + case GI_TYPE_TAG_FILENAME: + case GI_TYPE_TAG_ARRAY: + break; + case GI_TYPE_TAG_INTERFACE: + rb_field_value = + rb_gi_field_info_get_field_raw_interface(info, + memory, + type_info); + if (!NIL_P(rb_field_value)) { + g_base_info_unref(type_info); + return rb_field_value; + } + break; + case GI_TYPE_TAG_GLIST: + case GI_TYPE_TAG_GSLIST: + case GI_TYPE_TAG_GHASH: + case GI_TYPE_TAG_ERROR: + case GI_TYPE_TAG_UNICHAR: + break; default: break; } @@ -153,6 +224,31 @@ rb_gi_field_info_set_field_raw(GIFieldInfo *info, gpointer memory, succeeded = g_field_info_set_field(info, memory, &field_value); if (!succeeded) { switch (type_tag) { + case GI_TYPE_TAG_VOID: + case GI_TYPE_TAG_BOOLEAN: + case GI_TYPE_TAG_INT8: + case GI_TYPE_TAG_UINT8: + case GI_TYPE_TAG_INT16: + case GI_TYPE_TAG_UINT16: + case GI_TYPE_TAG_INT32: + case GI_TYPE_TAG_UINT32: + case GI_TYPE_TAG_INT64: + case GI_TYPE_TAG_UINT64: + case GI_TYPE_TAG_FLOAT: + case GI_TYPE_TAG_DOUBLE: + case GI_TYPE_TAG_GTYPE: + break; + case GI_TYPE_TAG_UTF8: + { + int offset; + offset = g_field_info_get_offset(info); + G_STRUCT_MEMBER(gchar *, memory, offset) = field_value.v_string; + succeeded = TRUE; + } + break; + case GI_TYPE_TAG_FILENAME: + case GI_TYPE_TAG_ARRAY: + break; case GI_TYPE_TAG_INTERFACE: { GIBaseInfo *interface_info; @@ -161,9 +257,13 @@ rb_gi_field_info_set_field_raw(GIFieldInfo *info, gpointer memory, interface_info = g_type_info_get_interface(type_info); interface_type = g_base_info_get_type(interface_info); switch (interface_type) { + case GI_INFO_TYPE_INVALID: + case GI_INFO_TYPE_FUNCTION: + case GI_INFO_TYPE_CALLBACK: + break; case GI_INFO_TYPE_STRUCT: - case GI_INFO_TYPE_UNION: case GI_INFO_TYPE_BOXED: + case GI_INFO_TYPE_UNION: { int offset; @@ -173,19 +273,32 @@ rb_gi_field_info_set_field_raw(GIFieldInfo *info, gpointer memory, succeeded = TRUE; } break; + case GI_INFO_TYPE_ENUM: + case GI_INFO_TYPE_FLAGS: + case GI_INFO_TYPE_OBJECT: + case GI_INFO_TYPE_INTERFACE: + case GI_INFO_TYPE_CONSTANT: + case GI_INFO_TYPE_INVALID_0: + case GI_INFO_TYPE_VALUE: + case GI_INFO_TYPE_SIGNAL: + case GI_INFO_TYPE_VFUNC: + case GI_INFO_TYPE_PROPERTY: + case GI_INFO_TYPE_FIELD: + case GI_INFO_TYPE_ARG: + case GI_INFO_TYPE_TYPE: + case GI_INFO_TYPE_UNRESOLVED: + break; default: break; } g_base_info_unref(interface_info); } break; - case GI_TYPE_TAG_UTF8: - { - int offset; - offset = g_field_info_get_offset(info); - G_STRUCT_MEMBER(gchar *, memory, offset) = field_value.v_string; - succeeded = TRUE; - } + case GI_TYPE_TAG_GLIST: + case GI_TYPE_TAG_GSLIST: + case GI_TYPE_TAG_GHASH: + case GI_TYPE_TAG_ERROR: + case GI_TYPE_TAG_UNICHAR: break; default: break; Modified: gobject-introspection/ext/gobject-introspection/rb-gi-interface-info.c (+1 -1) =================================================================== --- gobject-introspection/ext/gobject-introspection/rb-gi-interface-info.c 2017-07-10 21:41:55 +0900 (e7304f7) +++ gobject-introspection/ext/gobject-introspection/rb-gi-interface-info.c 2017-07-10 23:27:28 +0900 (90d9122) @@ -1,6 +1,6 @@ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* - * Copyright (C) 2012 Ruby-GNOME2 Project Team + * Copyright (C) 2012-2017 Ruby-GNOME2 Project Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Modified: gobject-introspection/ext/gobject-introspection/rb-gi-private.h (+7 -1) =================================================================== --- gobject-introspection/ext/gobject-introspection/rb-gi-private.h 2017-07-10 21:41:55 +0900 (5f23319) +++ gobject-introspection/ext/gobject-introspection/rb-gi-private.h 2017-07-10 23:27:28 +0900 (4e48a53) @@ -1,6 +1,6 @@ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* - * Copyright (C) 2012-2013 Ruby-GNOME2 Project Team + * Copyright (C) 2012-2017 Ruby-GNOME2 Project Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -105,4 +105,10 @@ void rb_gi_field_info_set_field_raw (GIFieldInfo *info, gpointer memory, VALUE rb_field_value); +VALUE rb_gi_struct_info_to_ruby(GIStructInfo *info, + gpointer object, + gboolean is_pointer); +gpointer rb_gi_struct_info_from_ruby(GIStructInfo *info, + VALUE rb_object); + #endif Modified: gobject-introspection/ext/gobject-introspection/rb-gi-struct-info.c (+71 -1) =================================================================== --- gobject-introspection/ext/gobject-introspection/rb-gi-struct-info.c 2017-07-10 21:41:55 +0900 (419e3c6) +++ gobject-introspection/ext/gobject-introspection/rb-gi-struct-info.c 2017-07-10 23:27:28 +0900 (7581053) @@ -28,13 +28,83 @@ gi_struct_info_get_type(void) { static GType type = 0; if (type == 0) { - type = g_boxed_type_register_static("GIStructInfo", + type = g_boxed_type_register_static("GIStructInfo", (GBoxedCopyFunc)g_base_info_ref, (GBoxedFreeFunc)g_base_info_unref); } return type; } +VALUE +rb_gi_struct_info_to_ruby(GIStructInfo *info, + gpointer object, + gboolean is_pointer) +{ + GIBaseInfo *base_info = (GIBaseInfo *)info; + GIRegisteredTypeInfo *registered_type_info = (GIRegisteredTypeInfo *)info; + GType gtype; + const char *namespace; + const char *name; + VALUE rb_module; + VALUE rb_class; + gpointer target_object = object; + RUBY_DATA_FUNC free_func = NULL; + + gtype = g_registered_type_info_get_g_type(registered_type_info); + if (gtype == G_TYPE_VARIANT) { + GVariant *variant = object; + return rbg_variant_to_ruby(variant); + } + + namespace = g_base_info_get_namespace(base_info); + name = g_base_info_get_name(base_info); + + if (strcmp(namespace, "cairo") == 0) { + gchar *gtype_name; + GType gtype; + + gtype_name = g_strdup_printf("Cairo%s", name); + gtype = g_type_from_name(gtype_name); + g_free(gtype_name); + return BOXED2RVAL(target_object, gtype); + } + + rb_module = rb_const_get(rb_cObject, rb_intern(namespace)); + rb_class = rb_const_get(rb_module, rb_intern(name)); + if (rb_respond_to(rb_class, rb_intern("gtype"))) { + VALUE rb_gtype; + GType gtype; + + rb_gtype = rb_funcall(rb_class, rb_intern("gtype"), 0); + gtype = NUM2ULONG(rb_funcall(rb_gtype, rb_intern("to_i"), 0)); + return BOXED2RVAL(target_object, gtype); + } + + if (!is_pointer) { + size_t object_size; + object_size = g_struct_info_get_size(info); + target_object = xmalloc(object_size); + memcpy(target_object, object, object_size); + free_func = xfree; + } + + return Data_Wrap_Struct(rb_class, NULL, free_func, target_object); +} + +gpointer +rb_gi_struct_info_from_ruby(GIStructInfo *info, VALUE rb_object) +{ + GIRegisteredTypeInfo *registerd_type_info = (GIRegisteredTypeInfo *)info; + GType gtype; + + gtype = g_registered_type_info_get_g_type(registerd_type_info); + if (gtype == G_TYPE_NONE) { + return DATA_PTR(rb_object); + } else { + return RVAL2BOXED(rb_object, gtype); + } +} + static VALUE rg_n_fields(VALUE self) { Modified: gobject-introspection/ext/gobject-introspection/rb-gobject-introspection.h (+1 -1) =================================================================== --- gobject-introspection/ext/gobject-introspection/rb-gobject-introspection.h 2017-07-10 21:41:55 +0900 (3b260b1) +++ gobject-introspection/ext/gobject-introspection/rb-gobject-introspection.h 2017-07-10 23:27:28 +0900 (4111264) @@ -1,6 +1,6 @@ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* - * Copyright (C) 2012-2014 Ruby-GNOME2 Project Team + * Copyright (C) 2012-2017 Ruby-GNOME2 Project Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public |
From: Travis CI <bu...@tr...> - 2017-07-10 13:24:15
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4478 Status: Fixed Duration: 25 minutes and 45 seconds Commit: d836174 (master) Author: Kouhei Sutou Message: Concurrent "rake gem:windows:push" View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/0a0623169429...d836174a4515 View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/251984815?utm_source=email&utm_medium=notification -- You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications |
From: Travis CI <bu...@tr...> - 2017-07-10 13:05:15
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4477 Status: Fixed Duration: 22 minutes and 28 seconds Commit: 0a06231 (master) Author: Kouhei Sutou Message: Bump version View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/5972c9dc8dd1...0a0623169429 View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/251983601?utm_source=email&utm_medium=notification -- You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications |
From: Kouhei S. <nu...@co...> - 2017-07-10 12:45:36
|
Kouhei Sutou 2017-07-10 21:41:55 +0900 (Mon, 10 Jul 2017) New Revision: d836174a4515c54577b5d9c1ef221f1af23ef289 https://github.com/ruby-gnome2/ruby-gnome2/commit/d836174a4515c54577b5d9c1ef221f1af23ef289 Message: Concurrent "rake gem:windows:push" Modified files: Rakefile Modified: Rakefile (+13 -4) =================================================================== --- Rakefile 2017-07-10 20:31:20 +0900 (a019511) +++ Rakefile 2017-07-10 21:41:55 +0900 (52ee61e) @@ -501,12 +501,21 @@ namespace :gem do desc "push all Windows gems" task :push do + threads = [] windows_gnome2_packages.each do |package| - ruby("-S", "gem", "push", - File.join("build", "pkg", "#{package}-#{version}-x86-mingw32.gem")) - ruby("-S", "gem", "push", - File.join("build", "pkg", "#{package}-#{version}-x64-mingw32.gem")) + architectures = [ + "x86-mingw32", + "x64-mingw32", + ] + architectures.each do |architecture| + base_name = "#{package}-#{version}-#{architecture}.gem" + threads << Thread.new(base_name) do |local_base_name| + ruby("-S", "gem", "push", + File.join("build", "pkg", local_base_name)) + end + end end + threads.each(&:join) end end end |
From: Kouhei S. <nu...@co...> - 2017-07-10 12:42:12
|
Kouhei Sutou 2017-07-10 20:31:20 +0900 (Mon, 10 Jul 2017) New Revision: 0a0623169429d9f1adadde5572769a0a0bbef728 https://github.com/ruby-gnome2/ruby-gnome2/commit/0a0623169429d9f1adadde5572769a0a0bbef728 Message: Bump version Modified files: glib2/ext/glib2/rbglib.h Modified: glib2/ext/glib2/rbglib.h (+1 -1) =================================================================== --- glib2/ext/glib2/rbglib.h 2017-07-10 16:41:04 +0900 (cc1843a) +++ glib2/ext/glib2/rbglib.h 2017-07-10 20:31:20 +0900 (13b710c) @@ -36,7 +36,7 @@ extern "C" { #define RBGLIB_MAJOR_VERSION 3 #define RBGLIB_MINOR_VERSION 1 -#define RBGLIB_MICRO_VERSION 7 +#define RBGLIB_MICRO_VERSION 8 #ifndef RB_ZALLOC # ifdef ZALLOC |
From: Travis CI <bu...@tr...> - 2017-07-10 11:00:44
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4476 Status: Failed Duration: 22 minutes and 1 second Commit: 5972c9d (3.1.7) Author: Kouhei Sutou Message: glib2 windows: remove merged patches View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/3.1.7 View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/251949295?utm_source=email&utm_medium=notification -- You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications |