gobject-introspection 3.2.9 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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