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-11-25 05:49:10
|
Kouhei Sutou 2017-11-25 14:48:34 +0900 (Sat, 25 Nov 2017) New Revision: 7bee7f396df9570855027dfa6e77dc92c9399da1 https://github.com/ruby-gnome2/ruby-gnome2/commit/7bee7f396df9570855027dfa6e77dc92c9399da1 Message: travis: add entry for macOS Modified files: .travis.yml Modified: .travis.yml (+3 -0) =================================================================== --- .travis.yml 2017-11-23 18:15:56 +0900 (c06d255de) +++ .travis.yml 2017-11-25 14:48:34 +0900 (54a835005) @@ -21,6 +21,9 @@ matrix: - env: TYPE=ubuntu-17.04 - env: TYPE=centos-6 - env: TYPE=centos-7 + - os: osx + install: bundle install + script: bundle exec rake # allow_failures: # - env: TYPE=centos-6 # - env: TYPE=centos-7 |
From: Kouhei S. <nu...@co...> - 2017-11-23 09:17:18
|
Kouhei Sutou 2017-11-23 18:15:56 +0900 (Thu, 23 Nov 2017) New Revision: 0430513a97475b1ea5e93e79b59d0bd54459bb91 https://github.com/ruby-gnome2/ruby-gnome2/commit/0430513a97475b1ea5e93e79b59d0bd54459bb91 Message: gdk3: add workaround for GC crash Example: [BUG] rb_gc_mark(): 0x00005555580bb7f8 is T_ZOMBIE Modified files: gdk3/lib/gdk3/screen.rb Modified: gdk3/lib/gdk3/screen.rb (+9 -1) =================================================================== --- gdk3/lib/gdk3/screen.rb 2017-11-20 00:27:04 +0900 (0e1acebde) +++ gdk3/lib/gdk3/screen.rb 2017-11-23 18:15:56 +0900 (5d06fad25) @@ -1,4 +1,4 @@ -# Copyright (C) 2015 Ruby-GNOME2 Project Team +# Copyright (C) 2015-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 @@ -16,6 +16,14 @@ module Gdk class Screen + class << self + alias_method :default_raw, :default + def default + # TODO: Remove me when GLib::Object supports RUBY_TYPED_FREE_IMMEDIATELY. + @@default ||= default_raw + end + end + alias_method :get_setting_raw, :get_setting def get_setting(key, type=nil) value = GLib::Value.new(type || GLib::Type::STRING) |
From: Kouhei S. <nu...@co...> - 2017-11-19 15:28:17
|
Kouhei Sutou 2017-11-20 00:27:04 +0900 (Mon, 20 Nov 2017) New Revision: f4dbdb26332a1ecc31b94835af492863ef5f5d58 https://github.com/ruby-gnome2/ruby-gnome2/commit/f4dbdb26332a1ecc31b94835af492863ef5f5d58 Message: Bump version Modified files: glib2/ext/glib2/rbglib.h Modified: glib2/ext/glib2/rbglib.h (+1 -1) =================================================================== --- glib2/ext/glib2/rbglib.h 2017-11-19 22:41:29 +0900 (da79c1b03) +++ glib2/ext/glib2/rbglib.h 2017-11-20 00:27:04 +0900 (63617697a) @@ -36,7 +36,7 @@ extern "C" { #define RBGLIB_MAJOR_VERSION 3 #define RBGLIB_MINOR_VERSION 2 -#define RBGLIB_MICRO_VERSION 1 +#define RBGLIB_MICRO_VERSION 2 #ifndef RB_ZALLOC # ifdef ZALLOC |
From: Travis CI <bu...@tr...> - 2017-11-19 14:46:33
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4645 Status: Passed Duration: 22 minutes and 11 seconds Commit: 679e9cd (3.2.1) Author: Kouhei Sutou Message: glib2 windows: fix host name View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/3.2.1 View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/304321681?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-11-19 13:42:13
|
Kouhei Sutou 2017-11-19 22:41:29 +0900 (Sun, 19 Nov 2017) New Revision: 679e9cde3e24d1e8fe0d2f8e5eec2e6353220510 https://github.com/ruby-gnome2/ruby-gnome2/commit/679e9cde3e24d1e8fe0d2f8e5eec2e6353220510 Message: glib2 windows: fix host name Modified files: glib2/Rakefile Modified: glib2/Rakefile (+1 -1) =================================================================== --- glib2/Rakefile 2017-11-19 22:38:41 +0900 (c32776fab) +++ glib2/Rakefile 2017-11-19 22:41:29 +0900 (e9d323b81) @@ -151,7 +151,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package| }, { :name => "gnutls", - :download_base_url => "https://www.gnutls.org/ftp/gcrypt/gnutls/v3.4", + :download_base_url => "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.4", :label => "GnuTLS", :version => "3.4.10", :compression_method => "xz", |
From: Kouhei S. <nu...@co...> - 2017-11-19 13:39:19
|
Kouhei Sutou 2017-11-19 22:38:41 +0900 (Sun, 19 Nov 2017) New Revision: a340a491d2a0b4acc57ea25e12d37102da5d12e8 https://github.com/ruby-gnome2/ruby-gnome2/commit/a340a491d2a0b4acc57ea25e12d37102da5d12e8 Message: glib2 windows: use https instead of ftp Modified files: glib2/Rakefile Modified: glib2/Rakefile (+1 -1) =================================================================== --- glib2/Rakefile 2017-11-19 21:39:41 +0900 (c7cf13a4d) +++ glib2/Rakefile 2017-11-19 22:38:41 +0900 (c32776fab) @@ -151,7 +151,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package| }, { :name => "gnutls", - :download_base_url => "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4", + :download_base_url => "https://www.gnutls.org/ftp/gcrypt/gnutls/v3.4", :label => "GnuTLS", :version => "3.4.10", :compression_method => "xz", |
From: Kouhei S. <nu...@co...> - 2017-11-19 12:40:21
|
Kouhei Sutou 2017-11-19 21:39:41 +0900 (Sun, 19 Nov 2017) New Revision: a7e14063e3176dac43b2eb76e726d2460b7f9f65 https://github.com/ruby-gnome2/ruby-gnome2/commit/a7e14063e3176dac43b2eb76e726d2460b7f9f65 Message: Add 3.2.1 entry Modified files: NEWS Modified: NEWS (+45 -0) =================================================================== --- NEWS 2017-11-19 00:59:06 +0900 (ea156ab39) +++ NEWS 2017-11-19 21:39:41 +0900 (53f91b1df) @@ -2,6 +2,51 @@ = NEWS +== Ruby-GNOME2 3.2.1: 2017-11-19 + +This is a memory related bug fix release. + +=== Changes + +==== Ruby/GLib2 + + * Improvements + + * (({GLib::Bytes#initialize})): Stopped to copy data for frozen + (({String})). + +==== Ruby/GObjectIntrospection + + * Fixes + + * Fixed memory leaks for output parameters. + [GitHub#1113][Reported by Will Bryant] + +==== Ruby/GIO2 + + * Improvements + + * (({Gio::InputStream#read_all})): Made workable. + [GitHub#1110][Reported by Paul van Tilburg] + + * (({Gio::InputStream#read})): If the given size is (({nil})), + read until EOF or error. It's compatible with Ruby's IO objects. + +==== Ruby/GTK3 + + * Improvements + + * Marked top-level windows automatically. + [GitHub#1103][Reported by cedlemo] + +=== Thanks + + * Paul van Tilburg + + * cedlemo + + * Will Bryant + == Ruby-GNOME2 3.2.0: 2017-11-07 This is a bug fix release for Ruby/Poppler. |
From: Kouhei S. <nu...@co...> - 2017-11-18 15:59:59
|
Kouhei Sutou 2017-11-19 00:59:06 +0900 (Sun, 19 Nov 2017) New Revision: eb1c856ac8f89dfe375ee3d21127f125591c771c https://github.com/ruby-gnome2/ruby-gnome2/commit/eb1c856ac8f89dfe375ee3d21127f125591c771c Message: glib2: don't GC-ed source frozen data for GLib::Bytes Modified files: glib2/ext/glib2/rbglib-bytes.c glib2/test/test-bytes.rb Modified: glib2/ext/glib2/rbglib-bytes.c (+1 -0) =================================================================== --- glib2/ext/glib2/rbglib-bytes.c 2017-11-17 00:38:25 +0900 (efc44d2b7) +++ glib2/ext/glib2/rbglib-bytes.c 2017-11-19 00:59:06 +0900 (8e02ff8db) @@ -40,6 +40,7 @@ rg_initialize(int argc, VALUE *argv, VALUE self) const gchar *data = RVAL2CSTR_PTR(rb_data); if (RB_OBJ_FROZEN(rb_data)) { bytes = g_bytes_new_static(data, RSTRING_LEN(rb_data)); + rb_iv_set(self, "source", rb_data); } else { bytes = g_bytes_new(data, RSTRING_LEN(rb_data)); } Modified: glib2/test/test-bytes.rb (+15 -0) =================================================================== --- glib2/test/test-bytes.rb 2017-11-17 00:38:25 +0900 (952c1541f) +++ glib2/test/test-bytes.rb 2017-11-19 00:59:06 +0900 (0ba20d1db) @@ -21,6 +21,21 @@ class TestGLibBytes < Test::Unit::TestCase only_glib_version(2, 32, 0) end + sub_test_case ".new" do + def create_bytes(options={}) + data = "Hello" + data.freeze if options[:freeze] + [data.object_id, GLib::Bytes.new(data)] + end + + test "frozen" do + id, bytes = create_bytes(:freeze => true) + GC.start + assert_equal(bytes.to_s, + ObjectSpace._id2ref(id)) + end + end + test "#to_s" do data = "Hello" bytes = GLib::Bytes.new(data) |
From: Kouhei S. <nu...@co...> - 2017-11-16 15:38:56
|
Kouhei Sutou 2017-11-17 00:38:25 +0900 (Fri, 17 Nov 2017) New Revision: e8fa968156a06b8b3134027f823614275ddf80e5 https://github.com/ruby-gnome2/ruby-gnome2/commit/e8fa968156a06b8b3134027f823614275ddf80e5 Message: gtk3 test: fix a typo Modified files: gtk3/test/test-gtk-style-properties.rb Modified: gtk3/test/test-gtk-style-properties.rb (+2 -2) =================================================================== --- gtk3/test/test-gtk-style-properties.rb 2017-11-17 00:37:38 +0900 (af7697282) +++ gtk3/test/test-gtk-style-properties.rb 2017-11-17 00:38:25 +0900 (43231513b) @@ -20,7 +20,7 @@ class TestGtkStyleProperties < Test::Unit::TestCase end class TestGet < self - def test_eixstent + def test_existent key = "border-radius" state = :normal value = 29 @@ -31,7 +31,7 @@ class TestGtkStyleProperties < Test::Unit::TestCase assert_equal(value, @properties.get_property(key, state)) end - def test_noneixstent + def test_nonexistent assert_nil(@properties.get_property("nonexistent", :normal)) end end |
From: Kouhei S. <nu...@co...> - 2017-11-16 15:38:47
|
Kouhei Sutou 2017-11-17 00:37:38 +0900 (Fri, 17 Nov 2017) New Revision: 318e56d4128da4573c16b005522b2e5f739963a1 https://github.com/ruby-gnome2/ruby-gnome2/commit/318e56d4128da4573c16b005522b2e5f739963a1 Message: gi: fix memory leak for allocated output parameters GitHub: fix #1113 Reported by Will Bryant. Thanks!!! Modified files: gobject-introspection/ext/gobject-introspection/rb-gi-argument.c Modified: gobject-introspection/ext/gobject-introspection/rb-gi-argument.c (+154 -4) =================================================================== --- gobject-introspection/ext/gobject-introspection/rb-gi-argument.c 2017-11-13 23:23:49 +0900 (06f9a5b25) +++ gobject-introspection/ext/gobject-introspection/rb-gi-argument.c 2017-11-17 00:37:38 +0900 (67c35092f) @@ -22,6 +22,21 @@ static VALUE rb_cGLibValue = Qnil; +static const gchar * +rb_gi_transfer_to_string(GITransfer transfer) +{ + switch(transfer) { + case GI_TRANSFER_NOTHING: + return "nothing"; + case GI_TRANSFER_CONTAINER: + return "container"; + case GI_TRANSFER_EVERYTHING: + return "everything"; + default: + return "unknown"; + } +} + static void array_c_to_ruby_sized_interface(gconstpointer *elements, gint64 n_elements, @@ -1580,6 +1595,8 @@ rb_gi_out_argument_init_interface(GIArgument *argument, { gsize struct_size; + /* Should we care gtype? + Related: rb_gi_out_argument_fin_interface() */ struct_size = g_struct_info_get_size(interface_info); argument->v_pointer = xmalloc(struct_size); memset(argument->v_pointer, 0, struct_size); @@ -1877,7 +1894,8 @@ static void rb_gi_out_argument_fin_array_c(GIArgument *argument, G_GNUC_UNUSED GIArgInfo *arg_info, G_GNUC_UNUSED GITypeInfo *array_type_info, - GITypeInfo *element_type_info) + GITypeInfo *element_type_info, + GITransfer transfer) { GITypeTag element_type_tag; @@ -1893,6 +1911,9 @@ rb_gi_out_argument_fin_array_c(GIArgument *argument, g_type_tag_to_string(element_type_tag)); break; case GI_TYPE_TAG_UINT8: + if (transfer == GI_TRANSFER_EVERYTHING) { + g_free(*((guint8 **)(argument->v_pointer))); + } xfree(argument->v_pointer); break; case GI_TYPE_TAG_INT16: @@ -1910,6 +1931,9 @@ rb_gi_out_argument_fin_array_c(GIArgument *argument, g_type_tag_to_string(element_type_tag)); break; case GI_TYPE_TAG_UTF8: + if (transfer != GI_TRANSFER_NOTHING) { + g_free(*((gchar **)argument->v_pointer)); + } xfree(argument->v_pointer); break; case GI_TYPE_TAG_FILENAME: @@ -1920,6 +1944,16 @@ rb_gi_out_argument_fin_array_c(GIArgument *argument, g_type_tag_to_string(element_type_tag)); break; case GI_TYPE_TAG_INTERFACE: + if (transfer == GI_TRANSFER_EVERYTHING) { + g_base_info_unref(element_type_info); + rb_raise(rb_eNotImpError, + "TODO: free out transfer GIArgument(array)[c][%s][%s]", + g_type_tag_to_string(element_type_tag), + rb_gi_transfer_to_string(transfer)); + } + if (transfer != GI_TRANSFER_NOTHING) { + g_free(*((gpointer *)argument->v_pointer)); + } xfree(argument->v_pointer); break; case GI_TYPE_TAG_GLIST: @@ -1942,7 +1976,8 @@ rb_gi_out_argument_fin_array_c(GIArgument *argument, static void rb_gi_out_argument_fin_array(GIArgument *argument, GIArgInfo *arg_info, - GITypeInfo *array_type_info) + GITypeInfo *array_type_info, + GITransfer transfer) { GIArrayType array_type; GITypeInfo *element_type_info; @@ -1957,9 +1992,17 @@ rb_gi_out_argument_fin_array(GIArgument *argument, rb_gi_out_argument_fin_array_c(argument, arg_info, array_type_info, - element_type_info); + element_type_info, + transfer); break; case GI_ARRAY_TYPE_ARRAY: + if (transfer != GI_TRANSFER_NOTHING) { + g_base_info_unref(element_type_info); + rb_raise(rb_eNotImpError, + "TODO: free out transfer GIArgument(array)[ptr-array][%s][%s]", + g_type_tag_to_string(element_type_tag), + rb_gi_transfer_to_string(transfer)); + } g_array_free(argument->v_pointer, TRUE); break; case GI_ARRAY_TYPE_PTR_ARRAY: @@ -1983,11 +2026,88 @@ rb_gi_out_argument_fin_array(GIArgument *argument, g_base_info_unref(element_type_info); } +static void +rb_gi_out_argument_fin_interface(GIArgument *argument, + G_GNUC_UNUSED GIArgInfo *arg_info, + GITypeInfo *interface_type_info, + GITransfer transfer) +{ + GIBaseInfo *interface_info; + GIInfoType interface_type; + + interface_info = g_type_info_get_interface(interface_type_info); + interface_type = g_base_info_get_type(interface_info); + g_base_info_unref(interface_info); + + switch (interface_type) { + case GI_INFO_TYPE_INVALID: + case GI_INFO_TYPE_FUNCTION: + case GI_INFO_TYPE_CALLBACK: + rb_raise(rb_eNotImpError, + "TODO: free out transfer GIArgument(interface)[%s][%s]", + g_info_type_to_string(interface_type), + rb_gi_transfer_to_string(transfer)); + break; + case GI_INFO_TYPE_STRUCT: + /* Should we care gtype? + Related: rb_gi_out_argument_init_interface() */ + xfree(argument->v_pointer); + break; + case GI_INFO_TYPE_BOXED: + rb_raise(rb_eNotImpError, + "TODO: free out transfer GIArgument(interface)[%s][%s]", + g_info_type_to_string(interface_type), + rb_gi_transfer_to_string(transfer)); + break; + case GI_INFO_TYPE_ENUM: + case GI_INFO_TYPE_FLAGS: + break; + case GI_INFO_TYPE_OBJECT: + if (transfer != GI_TRANSFER_NOTHING) { + rb_raise(rb_eNotImpError, + "TODO: free out transfer GIArgument(interface)[%s][%s]", + g_info_type_to_string(interface_type), + rb_gi_transfer_to_string(transfer)); + } + xfree(argument->v_pointer); + break; + case GI_INFO_TYPE_INTERFACE: + if (transfer != GI_TRANSFER_NOTHING) { + rb_raise(rb_eNotImpError, + "TODO: free out transfer GIArgument(interface)[%s][%s]", + g_info_type_to_string(interface_type), + rb_gi_transfer_to_string(transfer)); + } + xfree(argument->v_pointer); + break; + case GI_INFO_TYPE_CONSTANT: + case GI_INFO_TYPE_INVALID_0: + case GI_INFO_TYPE_UNION: + 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: + rb_raise(rb_eNotImpError, + "TODO: free out transfer GIArgument(interface)[%s][%s]", + g_info_type_to_string(interface_type), + rb_gi_transfer_to_string(transfer)); + break; + default: + g_assert_not_reached(); + break; + } +} + void rb_gi_out_argument_fin(GIArgument *argument, GIArgInfo *arg_info) { GITypeInfo type_info; GITypeTag type_tag; + GITransfer transfer; if (g_arg_info_get_direction(arg_info) != GI_DIRECTION_OUT) { return; @@ -1995,6 +2115,7 @@ rb_gi_out_argument_fin(GIArgument *argument, GIArgInfo *arg_info) g_arg_info_load_type(arg_info, &type_info); type_tag = g_type_info_get_tag(&type_info); + transfer = g_arg_info_get_ownership_transfer(arg_info); switch (type_tag) { case GI_TYPE_TAG_VOID: @@ -2010,7 +2131,12 @@ rb_gi_out_argument_fin(GIArgument *argument, GIArgInfo *arg_info) case GI_TYPE_TAG_FLOAT: case GI_TYPE_TAG_DOUBLE: case GI_TYPE_TAG_GTYPE: + xfree(argument->v_pointer); + break; case GI_TYPE_TAG_UTF8: + if (transfer != GI_TRANSFER_NOTHING) { + g_free(*((gchar **)argument->v_pointer)); + } xfree(argument->v_pointer); break; case GI_TYPE_TAG_FILENAME: @@ -2019,13 +2145,37 @@ rb_gi_out_argument_fin(GIArgument *argument, GIArgInfo *arg_info) g_type_tag_to_string(type_tag)); break; case GI_TYPE_TAG_ARRAY: - rb_gi_out_argument_fin_array(argument, arg_info, &type_info); + rb_gi_out_argument_fin_array(argument, arg_info, &type_info, transfer); break; case GI_TYPE_TAG_INTERFACE: + rb_gi_out_argument_fin_interface(argument, + arg_info, + &type_info, + transfer); + break; case GI_TYPE_TAG_GLIST: + if (transfer == GI_TRANSFER_EVERYTHING) { + rb_raise(rb_eNotImpError, + "TODO: free out transfer GIArgument(%s)[%s]", + g_type_tag_to_string(type_tag), + rb_gi_transfer_to_string(transfer)); + } + if (transfer != GI_TRANSFER_NOTHING) { + g_list_free(*((GList **)argument->v_pointer)); + } + xfree(argument->v_pointer); + break; case GI_TYPE_TAG_GSLIST: case GI_TYPE_TAG_GHASH: case GI_TYPE_TAG_ERROR: + if (transfer != GI_TRANSFER_NOTHING) { + rb_raise(rb_eNotImpError, + "TODO: free out transfer GIArgument(%s)[%s]", + g_type_tag_to_string(type_tag), + rb_gi_transfer_to_string(transfer)); + } + xfree(argument->v_pointer); + break; case GI_TYPE_TAG_UNICHAR: xfree(argument->v_pointer); break; |
From: Kouhei S. <nu...@co...> - 2017-11-13 14:25:01
|
Kouhei Sutou 2017-11-13 23:23:49 +0900 (Mon, 13 Nov 2017) New Revision: 725cdceceac7aca471e8623cdd00b8c8d351a545 https://github.com/ruby-gnome2/ruby-gnome2/commit/725cdceceac7aca471e8623cdd00b8c8d351a545 Message: gtk3: mark top-level windows GitHub: fix #1103 Reported by cedlemo. Thanks!!! Added files: gtk3/ext/gtk3/rb-gtk3-window.c Modified files: gtk3/ext/gtk3/rb-gtk3-private.h gtk3/ext/gtk3/rb-gtk3.c Modified: gtk3/ext/gtk3/rb-gtk3-private.h (+2 -1) =================================================================== --- gtk3/ext/gtk3/rb-gtk3-private.h 2017-11-10 00:26:02 +0900 (704c772fd) +++ gtk3/ext/gtk3/rb-gtk3-private.h 2017-11-13 23:23:49 +0900 (2bb2d097a) @@ -1,6 +1,6 @@ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* - * Copyright (C) 2015 Ruby-GNOME2 Project Team + * Copyright (C) 2015-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 @@ -32,5 +32,6 @@ G_GNUC_INTERNAL void rbgtk3_spin_button_init(void); G_GNUC_INTERNAL void rbgtk3_tree_model_init(void); G_GNUC_INTERNAL void rbgtk3_tree_view_init(void); G_GNUC_INTERNAL void rbgtk3_widget_init(void); +G_GNUC_INTERNAL void rbgtk3_window_init(void); #endif Added: gtk3/ext/gtk3/rb-gtk3-window.c (+78 -0) 100644 =================================================================== --- /dev/null +++ gtk3/ext/gtk3/rb-gtk3-window.c 2017-11-13 23:23:49 +0900 (02fc79a75) @@ -0,0 +1,78 @@ +/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ +/* + * Copyright (C) 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 + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ + +#include "rb-gtk3-private.h" + +typedef struct { + int dummy; +} ToplevelWindowMarkerData; + +static void +toplevel_window_marker_mark(G_GNUC_UNUSED void *_) +{ + GList *list = gtk_window_list_toplevels(); + GList *node; + for (node = list; node; node = g_list_next(node)) { + rbgobj_gc_mark_instance(node->data); + } + g_list_free(list); +} + +static void +toplevel_window_marker_free(void *data) +{ + xfree(data); +} + +static const rb_data_type_t toplevel_window_marker_type = { + "Gtk::ToplevelsMarker", + { + toplevel_window_marker_mark, + toplevel_window_marker_free, + NULL, + { + NULL, + NULL, + }, + }, + NULL, + NULL, + RUBY_TYPED_FREE_IMMEDIATELY, +}; + + +void +rbgtk3_window_init(void) +{ + VALUE mGtk; + VALUE toplevel_window_marker_class; + VALUE toplevel_window_marker; + ToplevelWindowMarkerData *data; + + mGtk = rb_const_get(rb_cObject, rb_intern("Gtk")); + toplevel_window_marker_class = + rb_define_class_under(mGtk, "ToplevelWindowMarker", rb_cData); + toplevel_window_marker = + TypedData_Make_Struct(toplevel_window_marker_class, + ToplevelWindowMarkerData, + &toplevel_window_marker_type, + data); + rb_gc_register_mark_object(toplevel_window_marker); +} Modified: gtk3/ext/gtk3/rb-gtk3.c (+2 -1) =================================================================== --- gtk3/ext/gtk3/rb-gtk3.c 2017-11-10 00:26:02 +0900 (8a866f62a) +++ gtk3/ext/gtk3/rb-gtk3.c 2017-11-13 23:23:49 +0900 (94761eb81) @@ -1,6 +1,6 @@ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* - * Copyright (C) 2015 Ruby-GNOME2 Project Team + * Copyright (C) 2015-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 @@ -639,6 +639,7 @@ Init_gtk3(void) rbgtk3_tree_model_init(); rbgtk3_tree_view_init(); rbgtk3_widget_init(); + rbgtk3_window_init(); rbgobj_boxed_not_copy_obj(GTK_TYPE_SELECTION_DATA); setlocale(LC_NUMERIC, "C"); |
From: Elan Ruusamäe <nu...@co...> - 2017-11-11 15:08:28
|
Elan Ruusamäe 2017-11-12 00:02:12 +0900 (Sun, 12 Nov 2017) New Revision: 42276b558f92a5327d97bf84d8c37b406e5e6e43 https://github.com/ruby-gnome2/native-package-installer/commit/42276b558f92a5327d97bf84d8c37b406e5e6e43 Merged 0bd5469: Merge pull request #7 from glensc/pld-fix Message: drop arch-linux from pld-linux too much copy paste, the linux distributions aren't related at all Modified files: lib/native-package-installer/platform/pld-linux.rb Modified: lib/native-package-installer/platform/pld-linux.rb (+1 -1) =================================================================== --- lib/native-package-installer/platform/pld-linux.rb 2017-11-11 23:35:07 +0900 (b6ca197) +++ lib/native-package-installer/platform/pld-linux.rb 2017-11-12 00:02:12 +0900 (c594baa) @@ -25,7 +25,7 @@ class NativePackageInstaller end def package(spec) - spec[:pld_linux] || spec[:arch_linux] + spec[:pld_linux] end def install_command |
From: Kouhei S. <nu...@co...> - 2017-11-11 15:08:27
|
Kouhei Sutou 2017-11-12 00:08:12 +0900 (Sun, 12 Nov 2017) New Revision: 0bd5469609f7219fb971f889d1ef4e64f6476f0c https://github.com/ruby-gnome2/native-package-installer/commit/0bd5469609f7219fb971f889d1ef4e64f6476f0c Message: Merge pull request #7 from glensc/pld-fix drop arch-linux from pld-linux Patch by Elan Ruusamäe. Thanks!!! |
From: Travis CI <bu...@tr...> - 2017-11-11 14:37:20
|
Build Update for ruby-gnome2/native-package-installer ------------------------------------- Build: #55 Status: Passed Duration: 1 minute and 40 seconds Commit: 32e2298 (1.0.5) Author: Kouhei Sutou Message: Add 1.0.5 entry View the changeset: https://github.com/ruby-gnome2/native-package-installer/compare/1.0.5 View the full build log and details: https://travis-ci.org/ruby-gnome2/native-package-installer/builds/300616609?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-11-11 14:35:34
|
Kouhei Sutou 2017-11-11 23:35:07 +0900 (Sat, 11 Nov 2017) New Revision: b28b45d4abe2fb97b13c91dd579105394286cd02 https://github.com/ruby-gnome2/native-package-installer/commit/b28b45d4abe2fb97b13c91dd579105394286cd02 Message: Bump version Modified files: lib/native-package-installer/version.rb Modified: lib/native-package-installer/version.rb (+1 -1) =================================================================== --- lib/native-package-installer/version.rb 2017-11-11 23:34:17 +0900 (217d5b6) +++ lib/native-package-installer/version.rb 2017-11-11 23:35:07 +0900 (6b7425b) @@ -14,5 +14,5 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. class NativePackageInstaller - VERSION = "1.0.5" + VERSION = "1.0.6" end |
From: Kouhei S. <nu...@co...> - 2017-11-11 14:34:44
|
Kouhei Sutou 2017-11-11 23:34:17 +0900 (Sat, 11 Nov 2017) New Revision: 32e229833c036e693f6811eceb6107481cdc9a52 https://github.com/ruby-gnome2/native-package-installer/commit/32e229833c036e693f6811eceb6107481cdc9a52 Message: Add 1.0.5 entry Modified files: doc/text/news.md Modified: doc/text/news.md (+21 -0) =================================================================== --- doc/text/news.md 2017-11-11 23:29:49 +0900 (9eab3bb) +++ doc/text/news.md 2017-11-11 23:34:17 +0900 (85a300f) @@ -1,5 +1,26 @@ # News +## 1.0.5 - 2017-11-11 + +### Improvements + + * Removed needless Packnga development dependency. + [GitHub#4][Patch by HIGUCHI Daisuke] + + * Added PLD Linux support. + [GitHub#6][Patch by Elan Ruusamäe] + +### Fixes + + * Fixed a bug that `:redhat` package isn't used for Fedora platform. + [GitHub#5][Patch by HIGUCHI Daisuke] + +### Thanks + + * HIGUCHI Daisuke + + * Elan Ruusamäe + ## 1.0.4 - 2017-06-04 ### Fixes |
From: Kouhei S. <nu...@co...> - 2017-11-11 14:30:29
|
Kouhei Sutou 2017-11-11 23:29:49 +0900 (Sat, 11 Nov 2017) New Revision: 7568868fce135204974c0f28eec3a1238af4b85a https://github.com/ruby-gnome2/native-package-installer/commit/7568868fce135204974c0f28eec3a1238af4b85a Message: Support PLD Linux specific package name Modified files: lib/native-package-installer/platform/pld-linux.rb Modified: lib/native-package-installer/platform/pld-linux.rb (+1 -1) =================================================================== --- lib/native-package-installer/platform/pld-linux.rb 2017-11-11 23:28:30 +0900 (6dbb2b2) +++ lib/native-package-installer/platform/pld-linux.rb 2017-11-11 23:29:49 +0900 (b6ca197) @@ -25,7 +25,7 @@ class NativePackageInstaller end def package(spec) - spec[:arch_linux] + spec[:pld_linux] || spec[:arch_linux] end def install_command |
From: Kouhei S. <nu...@co...> - 2017-11-11 14:29:01
|
Kouhei Sutou 2017-11-11 23:28:30 +0900 (Sat, 11 Nov 2017) New Revision: f18720f87ac510a188a785a255b82eacdacd1e73 https://github.com/ruby-gnome2/native-package-installer/commit/f18720f87ac510a188a785a255b82eacdacd1e73 Message: Use "PLDLinux" Modified files: lib/native-package-installer/platform/pld-linux.rb Modified: lib/native-package-installer/platform/pld-linux.rb (+1 -1) =================================================================== --- lib/native-package-installer/platform/pld-linux.rb 2017-11-11 23:27:25 +0900 (ec9c7e8) +++ lib/native-package-installer/platform/pld-linux.rb 2017-11-11 23:28:30 +0900 (6dbb2b2) @@ -15,7 +15,7 @@ class NativePackageInstaller module Platform - class PldLinux + class PLDLinux Platform.register(self) class << self |
From: Elan Ruusamäe <nu...@co...> - 2017-11-11 14:27:44
|
Elan Ruusamäe 2017-11-10 06:10:01 +0900 (Fri, 10 Nov 2017) New Revision: fbda9a2ca605f098d42a4d236291418738feb2f6 https://github.com/ruby-gnome2/native-package-installer/commit/fbda9a2ca605f098d42a4d236291418738feb2f6 Merged 5e95ae8: Merge pull request #6 from glensc/pld-support Message: add pld-linux platform Added files: lib/native-package-installer/platform/pld-linux.rb Modified files: lib/native-package-installer/platform.rb Modified: lib/native-package-installer/platform.rb (+1 -0) =================================================================== --- lib/native-package-installer/platform.rb 2017-06-28 00:27:01 +0900 (39e88c3) +++ lib/native-package-installer/platform.rb 2017-11-10 06:10:01 +0900 (510edb7) @@ -43,6 +43,7 @@ require "native-package-installer/platform/redhat" require "native-package-installer/platform/suse" require "native-package-installer/platform/alt-linux" require "native-package-installer/platform/arch-linux" +require "native-package-installer/platform/pld-linux" require "native-package-installer/platform/homebrew" Added: lib/native-package-installer/platform/pld-linux.rb (+40 -0) 100644 =================================================================== --- /dev/null +++ lib/native-package-installer/platform/pld-linux.rb 2017-11-10 06:10:01 +0900 (ec9c7e8) @@ -0,0 +1,40 @@ +# Copyright (C) 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 License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +class NativePackageInstaller + module Platform + class PldLinux + Platform.register(self) + + class << self + def current_platform? + ExecutableFinder.exist?("poldek") + end + end + + def package(spec) + spec[:arch_linux] + end + + def install_command + "poldek --up -u" + end + + def need_super_user_priviledge? + true + end + end + end +end |
From: Kouhei S. <nu...@co...> - 2017-11-11 14:27:43
|
Kouhei Sutou 2017-11-11 23:27:25 +0900 (Sat, 11 Nov 2017) New Revision: 5e95ae89f3e79790a0697a0e0e715250b5e1f261 https://github.com/ruby-gnome2/native-package-installer/commit/5e95ae89f3e79790a0697a0e0e715250b5e1f261 Message: Merge pull request #6 from glensc/pld-support add pld-linux platform Patch by Elan Ruusamäe. Thanks!!! |
From: Travis CI <bu...@tr...> - 2017-11-09 15:49:33
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4637 Status: Fixed Duration: 22 minutes and 24 seconds Commit: 39ec999 (master) Author: Kouhei Sutou Message: glib2: support Ruby 2.1 and 2.2 again View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/6b0e74dc6ad9...39ec99939bb0 View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/299695087?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-11-09 15:26:34
|
Kouhei Sutou 2017-11-10 00:26:02 +0900 (Fri, 10 Nov 2017) New Revision: 39ec99939bb0292702cea6d12445a2fdea8466c8 https://github.com/ruby-gnome2/ruby-gnome2/commit/39ec99939bb0292702cea6d12445a2fdea8466c8 Message: glib2: support Ruby 2.1 and 2.2 again Modified files: glib2/ext/glib2/rbglib.h Modified: glib2/ext/glib2/rbglib.h (+5 -0) =================================================================== --- glib2/ext/glib2/rbglib.h 2017-11-09 23:46:40 +0900 (803fbfb9f) +++ glib2/ext/glib2/rbglib.h 2017-11-10 00:26:02 +0900 (da79c1b03) @@ -46,6 +46,11 @@ extern "C" { # endif #endif +/* For Ruby < 2.3 */ +#ifndef RB_OBJ_FROZEN +# define RB_OBJ_FROZEN(obj) OBJ_FROZEN(obj) +#endif + #ifndef RSTRING_PTR # define RSTRING_PTR(s) (RSTRING(s)->ptr) # define RSTRING_LEN(s) (RSTRING(s)->len) |
From: Travis CI <bu...@tr...> - 2017-11-09 15:11:11
|
Build Update for ruby-gnome2/ruby-gnome2 ------------------------------------- Build: #4636 Status: Broken Duration: 23 minutes and 1 second Commit: 6b0e74d (master) Author: Kouhei Sutou Message: glib2: GByte#new(frozen_string) doesn't copy string data It'll reduce memory usage. View the changeset: https://github.com/ruby-gnome2/ruby-gnome2/compare/514c9e274dd7...6b0e74dc6ad9 View the full build log and details: https://travis-ci.org/ruby-gnome2/ruby-gnome2/builds/299675002?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-11-09 14:47:35
|
Kouhei Sutou 2017-11-09 23:46:40 +0900 (Thu, 09 Nov 2017) New Revision: 6b0e74dc6ad90fc0c36868089405508f77b7c69c https://github.com/ruby-gnome2/ruby-gnome2/commit/6b0e74dc6ad90fc0c36868089405508f77b7c69c Message: glib2: GByte#new(frozen_string) doesn't copy string data It'll reduce memory usage. Modified files: glib2/ext/glib2/rbglib-bytes.c Modified: glib2/ext/glib2/rbglib-bytes.c (+5 -1) =================================================================== --- glib2/ext/glib2/rbglib-bytes.c 2017-11-09 23:13:22 +0900 (2c2d00252) +++ glib2/ext/glib2/rbglib-bytes.c 2017-11-09 23:46:40 +0900 (efc44d2b7) @@ -38,7 +38,11 @@ rg_initialize(int argc, VALUE *argv, VALUE self) bytes = g_bytes_new(NULL, 0); } else { const gchar *data = RVAL2CSTR_PTR(rb_data); - bytes = g_bytes_new(data, RSTRING_LEN(rb_data)); + if (RB_OBJ_FROZEN(rb_data)) { + bytes = g_bytes_new_static(data, RSTRING_LEN(rb_data)); + } else { + bytes = g_bytes_new(data, RSTRING_LEN(rb_data)); + } } G_INITIALIZE(self, bytes); |
From: Kouhei S. <nu...@co...> - 2017-11-09 14:15:50
|
Kouhei Sutou 2017-11-09 23:13:22 +0900 (Thu, 09 Nov 2017) New Revision: 514c9e274dd7b03711102629c9d5962b8f23e7be https://github.com/ruby-gnome2/ruby-gnome2/commit/514c9e274dd7b03711102629c9d5962b8f23e7be Message: gio2: support Gio::InputStream#read_all GitHub: fix #1110 Reported by Paul van Tilburg. Thanks!!! read() uses #read_all to improve compatibility with Ruby's #read. Modified files: gio2/lib/gio2/input-stream.rb gio2/lib/gio2/loader.rb gio2/test/test-input-stream.rb Modified: gio2/lib/gio2/input-stream.rb (+17 -1) =================================================================== --- gio2/lib/gio2/input-stream.rb 2017-11-08 09:10:37 +0900 (e5ba19fcd) +++ gio2/lib/gio2/input-stream.rb 2017-11-09 23:13:22 +0900 (1042c4574) @@ -23,7 +23,7 @@ module Gio buffer_size = 8192 buffer = " ".force_encoding("ASCII-8BIT") * buffer_size loop do - read_bytes = read_raw_compatible(buffer) + _, read_bytes = read_all_raw_compatible(buffer) all << buffer.byteslice(0, read_bytes) break if read_bytes != buffer_size end @@ -36,6 +36,14 @@ module Gio end end + alias_method :read_all_raw, :read_all + def read_all(size) + buffer = " " * size + _, read_bytes = read_all_raw_compatible(buffer) + buffer.replace(buffer.byteslice(0, read_bytes)) + buffer + end + private def read_raw_compatible(buffer) if (GLib::VERSION <=> [2, 36, 0]) >= 0 @@ -44,5 +52,13 @@ module Gio read_raw(buffer, buffer.bytesize) end end + + def read_all_raw_compatible(buffer) + if (GLib::VERSION <=> [2, 36, 0]) >= 0 + read_all_raw(buffer) + else + read_all_raw(buffer, buffer.bytesize) + end + end end end Modified: gio2/lib/gio2/loader.rb (+14 -0) =================================================================== --- gio2/lib/gio2/loader.rb 2017-11-08 09:10:37 +0900 (374f78f02) +++ gio2/lib/gio2/loader.rb 2017-11-09 23:13:22 +0900 (f7bdf0d33) @@ -187,5 +187,19 @@ module Gio def error_parent_class(info) Error end + + def should_unlock_gvl?(function_info, klass) + case klass.name + when "Gio::InputStream" + case function_info.name + when "read", "read_all" + true + else + false + end + else + false + end + end end end Modified: gio2/test/test-input-stream.rb (+28 -4) =================================================================== --- gio2/test/test-input-stream.rb 2017-11-08 09:10:37 +0900 (8ca385656) +++ gio2/test/test-input-stream.rb 2017-11-09 23:13:22 +0900 (065cd59f9) @@ -26,11 +26,35 @@ class TestInputStream < Test::Unit::TestCase teardown_socket_client end - def test_read - data = "Hello\n" + sub_test_case("#read") do + def test_with_size + data = "Hello\n" + client = @server.accept + client.write(data) + client.flush + assert_equal("Hell", @stream.read(4)) + end + + def test_without_size + data = "Hello\n" + client = @server.accept + client.write(data) + client.flush + client.close + assert_equal(data, @stream.read) + end + end + + def test_read_all client = @server.accept - client.write(data) + client.write("He") client.flush - assert_equal(data, @stream.read) + thread = Thread.new do + sleep(0.1) + client.write("llo") + client.flush + end + assert_equal("Hell", @stream.read_all(4)) + thread.join end end |