gobject-introspection 3.2.9 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 917092e759a8742c56e050f7564bd36b76062ee4c732891e6670a74b824e3f93
4
- data.tar.gz: 5ec4fc8c4ab4e4849d2e7f0545a287897dfe3efdc7da378f513244cb5d904dcb
3
+ metadata.gz: b5e708d02e27a80e2c6f6c93ed0c283011b264547f8523575d8b2038bf08039e
4
+ data.tar.gz: 1cb3f367205cf4ff8b826f755354c134071740e09211cbb2377f4907714e1cab
5
5
  SHA512:
6
- metadata.gz: 81a9fc8d8357c45bb75b74e3db39b29583f1294bbda8ece4ae4f2a788bce83ddf883b3852b395d0174b2b8f481f30aff4af91da96e39896793518526a5187022
7
- data.tar.gz: 2d90c21ce441298992cfb78de060d042bb0fe9ff94091023520f6b2ad60508ae9dccbf3384ee1cc6351078dfce6636a490041873c4f8cd8c0a9c8a0215c7443f
6
+ metadata.gz: c38badd7944d4278121ec7085b0f6bbeb1ded582941c1347babe6f21535ebc67bd7897bda77ad89d31d2df27abf50a18fee497150942d67e5c56f6bbf32513e2
7
+ data.tar.gz: c917b854af7ebec5cd473dc3b6b3f948c14e591ad41111a0a8d9df431011e5d91bdce2d01d91ec9d17083e790120433eb211ab27b4cbe3390f34bc269dca9625
data/Rakefile CHANGED
@@ -31,7 +31,7 @@ package_task = GNOME2::Rake::PackageTask.new(spec, __dir__) do |package|
31
31
  :name => "glib",
32
32
  :download_site => :gnome,
33
33
  :label => "GLib",
34
- :version => "2.56.1",
34
+ :version => "2.58.1",
35
35
  :compression_method => "xz",
36
36
  :windows => {
37
37
  :build => false,
@@ -46,7 +46,7 @@ package_task = GNOME2::Rake::PackageTask.new(spec, __dir__) do |package|
46
46
  :name => "gobject-introspection",
47
47
  :download_site => :gnome,
48
48
  :label => "gobject-introspection",
49
- :version => "1.56.1",
49
+ :version => "1.58.0",
50
50
  :compression_method => "xz",
51
51
  :windows => {
52
52
  :configure_args => [
@@ -2088,11 +2088,24 @@ rb_gi_out_argument_fin_interface(GIArgument *argument,
2088
2088
  case GI_INFO_TYPE_FLAGS:
2089
2089
  break;
2090
2090
  case GI_INFO_TYPE_OBJECT:
2091
- if (transfer != GI_TRANSFER_NOTHING) {
2091
+ switch (transfer) {
2092
+ case GI_TRANSFER_NOTHING:
2093
+ break;
2094
+ case GI_TRANSFER_CONTAINER:
2095
+ case GI_TRANSFER_EVERYTHING:
2096
+ {
2097
+ GObject *object = *((GObject **)argument->v_pointer);
2098
+ if (object) {
2099
+ g_object_unref(object);
2100
+ }
2101
+ }
2102
+ break;
2103
+ default:
2092
2104
  rb_raise(rb_eNotImpError,
2093
2105
  "TODO: free out transfer GIArgument(interface)[%s][%s]",
2094
2106
  g_info_type_to_string(interface_type),
2095
2107
  rb_gi_transfer_to_string(transfer));
2108
+ break;
2096
2109
  }
2097
2110
  xfree(argument->v_pointer);
2098
2111
  break;
@@ -1160,12 +1160,24 @@ in_callback_argument_from_ruby(RBGIArgMetadata *metadata,
1160
1160
  } else {
1161
1161
  rb_owner = self;
1162
1162
  }
1163
- rbgobj_object_add_relative(rb_owner, callback_data->rb_callback);
1164
- callback_data->owner = RVAL2GOBJ(rb_owner);
1165
- g_object_weak_ref(callback_data->owner,
1166
- rb_gi_callback_data_weak_notify,
1167
- callback_data);
1168
- closure_argument->v_pointer = callback_data;
1163
+ {
1164
+ static VALUE mGLibObject = Qnil;
1165
+ if (NIL_P(mGLibObject)) {
1166
+ mGLibObject = rb_const_get(mGLib, rb_intern("Object"));
1167
+ }
1168
+ if (rb_obj_is_kind_of(rb_owner, mGLibObject)) {
1169
+ rbgobj_object_add_relative(rb_owner, callback_data->rb_callback);
1170
+ callback_data->owner = RVAL2GOBJ(rb_owner);
1171
+ g_object_weak_ref(callback_data->owner,
1172
+ rb_gi_callback_data_weak_notify,
1173
+ callback_data);
1174
+ } else {
1175
+ /* Class method case. Callback is never GC-ed. (OK?) */
1176
+ rbgobj_add_relative(rb_owner, callback_data->rb_callback);
1177
+ callback_data->owner = NULL;
1178
+ }
1179
+ closure_argument->v_pointer = callback_data;
1180
+ }
1169
1181
  }
1170
1182
 
1171
1183
  if (destroy_argument) {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gobject-introspection
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.9
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME2 Project Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-08 00:00:00.000000000 Z
11
+ date: 2018-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glib2
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.2.9
19
+ version: 3.3.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 3.2.9
26
+ version: 3.3.0
27
27
  description: Ruby/GObjectIntrospection provides bindings of GObject Introspection
28
28
  and a loader module that can generate dynamically Ruby bindings of any GObject C
29
29
  libraries