gir_ffi 0.11.3 → 0.11.4
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 +4 -4
- data/Changelog.md +4 -0
- data/Gemfile +1 -1
- data/README.md +1 -1
- data/lib/ffi-gobject/object.rb +26 -9
- data/lib/gir_ffi/builders/enum_builder.rb +2 -2
- data/lib/gir_ffi/builders/object_builder.rb +4 -4
- data/lib/gir_ffi/callback_base.rb +1 -1
- data/lib/gir_ffi/ffi_ext/pointer.rb +7 -6
- data/lib/gir_ffi/user_defined_object_info.rb +1 -3
- data/lib/gir_ffi/version.rb +1 -1
- data/test/integration/generated_gimarshallingtests_test.rb +0 -1
- data/test/integration/generated_gtk_source_test.rb +1 -1
- data/test/integration/generated_gtop_test.rb +1 -1
- data/test/integration/generated_pango_ft2_test.rb +0 -1
- data/test/integration/generated_pango_test.rb +0 -1
- data/test/integration/generated_regress_test.rb +9 -2
- data/test/integration/generated_secret_test.rb +1 -1
- data/test/integration/generated_warnlib_test.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a183b776462b97665e2e4422ee403c77189232f0
|
4
|
+
data.tar.gz: 0e803082509b39db6946310f232b5b7dd5ccdee6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 233f733b08504cbc8282d2f2a0fc68caf65e3e648dcc9b0c912c816f83574c38c1e287a1c561db4a11195980243f62024a6a0588376a6f7b0311afa12481b350
|
7
|
+
data.tar.gz: a4d1c9f718083cbe4932385aa60196ac3bbe870403de227d1cd43914908afb836c42191f3e63ee66021c6da43e07cb432ed6f8d3e241ff95d70b05b818e08fec
|
data/Changelog.md
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -53,7 +53,7 @@ examples can be found in `gir_ffi-gtk` and `gir_ffi-gst`.
|
|
53
53
|
|
54
54
|
## Requirements
|
55
55
|
|
56
|
-
GirFFI is tested on CRuby 2.1, 2.2 and 2.
|
56
|
+
GirFFI is tested on CRuby 2.1, 2.2, 2.3 and 2.4, JRuby 9.1, and on Rubinius 3.
|
57
57
|
|
58
58
|
You will also need gobject-introspection installed with some
|
59
59
|
introspection data.
|
data/lib/ffi-gobject/object.rb
CHANGED
@@ -8,17 +8,34 @@ module GObject
|
|
8
8
|
# Overrides for GObject, GObject's generic base class.
|
9
9
|
class Object
|
10
10
|
setup_method 'new'
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
11
|
+
if !GLib.check_version(2, 54, 0)
|
12
|
+
setup_method 'newv'
|
13
|
+
|
14
|
+
def initialize_with_automatic_gtype(properties = {})
|
15
|
+
names = []
|
16
|
+
values = []
|
17
|
+
properties.each do |name, value|
|
18
|
+
name = name.to_s
|
19
|
+
gvalue = gvalue_for_property(name)
|
20
|
+
gvalue.set_value value
|
21
|
+
|
22
|
+
names << name
|
23
|
+
values << gvalue
|
24
|
+
end
|
25
|
+
initialize_without_automatic_gtype(self.class.gtype, names, values)
|
26
|
+
end
|
27
|
+
else
|
28
|
+
def initialize_with_automatic_gtype(properties = {})
|
29
|
+
gparameters = properties.map do |name, value|
|
30
|
+
name = name.to_s
|
31
|
+
property_param_spec(name)
|
32
|
+
GObject::Parameter.new.tap do |gparam|
|
33
|
+
gparam.name = name
|
34
|
+
gparam.value = value
|
35
|
+
end
|
19
36
|
end
|
37
|
+
initialize_without_automatic_gtype(self.class.gtype, gparameters)
|
20
38
|
end
|
21
|
-
initialize_without_automatic_gtype(self.class.gtype, gparameters)
|
22
39
|
end
|
23
40
|
|
24
41
|
alias_method :initialize_without_automatic_gtype, :initialize
|
@@ -132,17 +132,17 @@ module GirFFI
|
|
132
132
|
return if info.find_method 'new'
|
133
133
|
|
134
134
|
if info.abstract?
|
135
|
-
klass.class_eval <<-
|
135
|
+
klass.class_eval <<-RUBY
|
136
136
|
def initialize(*)
|
137
137
|
raise NoMethodError
|
138
138
|
end
|
139
|
-
|
139
|
+
RUBY
|
140
140
|
else
|
141
|
-
klass.class_eval <<-
|
141
|
+
klass.class_eval <<-RUBY
|
142
142
|
def initialize(properties = {})
|
143
143
|
base_initialize(properties)
|
144
144
|
end
|
145
|
-
|
145
|
+
RUBY
|
146
146
|
end
|
147
147
|
end
|
148
148
|
|
@@ -29,12 +29,13 @@ end
|
|
29
29
|
FFI::Pointer.prepend GirFFI::FFIExt::Pointer
|
30
30
|
|
31
31
|
FFI::Pointer.class_eval do
|
32
|
-
case FFI.type_size(:size_t)
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
32
|
+
size_t_getter = case FFI.type_size(:size_t)
|
33
|
+
when 4
|
34
|
+
:get_uint32
|
35
|
+
when 8
|
36
|
+
:get_uint64
|
37
|
+
end
|
38
38
|
|
39
|
+
alias_method :get_size_t, size_t_getter
|
39
40
|
alias_method :get_gtype, :get_size_t
|
40
41
|
end
|
@@ -25,9 +25,7 @@ module GirFFI
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def install_vfunc_implementation(name, implementation = nil)
|
28
|
-
|
29
|
-
implementation = ->(obj, *args) { obj.public_send name, *args }
|
30
|
-
end
|
28
|
+
implementation ||= ->(obj, *args) { obj.public_send name, *args }
|
31
29
|
@vfunc_implementations << VFuncImplementation.new(name, implementation)
|
32
30
|
end
|
33
31
|
|
data/lib/gir_ffi/version.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# coding: utf-8
|
2
1
|
# frozen_string_literal: true
|
3
2
|
|
4
3
|
require 'gir_ffi_test_helper'
|
@@ -2827,7 +2826,15 @@ describe Regress do
|
|
2827
2826
|
end
|
2828
2827
|
|
2829
2828
|
it 'has a working function #annotation_transfer_floating' do
|
2830
|
-
Regress.annotation_transfer_floating
|
2829
|
+
Regress.setup_method :annotation_transfer_floating
|
2830
|
+
method = Regress.method :annotation_transfer_floating
|
2831
|
+
# NOTE: The arity of this method was changed in GObjectIntrospection 1.53.2
|
2832
|
+
if method.arity == 1
|
2833
|
+
object = GObject::Object.new
|
2834
|
+
Regress.annotation_transfer_floating(object).must_be_nil
|
2835
|
+
else
|
2836
|
+
Regress.annotation_transfer_floating.must_be_nil
|
2837
|
+
end
|
2831
2838
|
end
|
2832
2839
|
|
2833
2840
|
it 'has a working function #annotation_versioned' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gir_ffi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matijs van Zuijlen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 3.5
|
75
|
+
version: '3.5'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 3.5
|
82
|
+
version: '3.5'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -431,7 +431,7 @@ files:
|
|
431
431
|
- test/minitest/stats_plugin.rb
|
432
432
|
homepage: http://www.github.com/mvz/ruby-gir-ffi
|
433
433
|
licenses:
|
434
|
-
- LGPL-2.1
|
434
|
+
- LGPL-2.1+
|
435
435
|
metadata: {}
|
436
436
|
post_install_message:
|
437
437
|
rdoc_options:
|
@@ -451,7 +451,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
451
451
|
version: '0'
|
452
452
|
requirements: []
|
453
453
|
rubyforge_project:
|
454
|
-
rubygems_version: 2.6.
|
454
|
+
rubygems_version: 2.6.13
|
455
455
|
signing_key:
|
456
456
|
specification_version: 4
|
457
457
|
summary: FFI-based GObject binding using the GObject Introspection Repository
|