gobject-introspection 3.3.1 → 3.3.2
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 826c2b9bde2fd70f03107d641276b32a9e9551580a397e221826866640c961f8
|
4
|
+
data.tar.gz: '085ce0af6d0e7f303e42e9cac143267dfca387501c8106eb3a43a15b94498012'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1dab56c3339d34fc20f80b88f7c72c17f12e5f62abbe0d36b0475e9cfff5ca9c609d1be7ba534721e14cf2a28325b5d95dc3c9d168bbc0a373bc48189e05c517
|
7
|
+
data.tar.gz: '0913ade6824ca87c14af059246a975c126ae86ba1451699a41c042007dab99421c15ab3c462b60ed148fa4f584d643542dffa7c4c5ce07057ab2ce7865730496'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2012-
|
3
|
+
* Copyright (C) 2012-2019 Ruby-GNOME2 Project Team
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
6
6
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -135,6 +135,7 @@ allocate_arguments(GICallableInfo *info,
|
|
135
135
|
memset(&argument, 0, sizeof(GIArgument));
|
136
136
|
|
137
137
|
metadata = ALLOC(RBGIArgMetadata);
|
138
|
+
metadata->callable_info = info;
|
138
139
|
arg_info = &(metadata->arg_info);
|
139
140
|
g_callable_info_load_arg(info, i, arg_info);
|
140
141
|
metadata->scope_type = g_arg_info_get_scope(arg_info);
|
@@ -339,7 +340,7 @@ rb_gi_callback_data_free(RBGICallbackData *callback_data)
|
|
339
340
|
rbgobj_object_remove_relative(rb_owner, callback_data->rb_callback);
|
340
341
|
}
|
341
342
|
}
|
342
|
-
if (callback_data->rb_owner) {
|
343
|
+
if (!NIL_P(callback_data->rb_owner)) {
|
343
344
|
rbgobj_remove_relative(callback_data->rb_owner,
|
344
345
|
(ID)0,
|
345
346
|
callback_data->rb_callback);
|
@@ -1158,6 +1159,14 @@ in_callback_argument_from_ruby(RBGIArgMetadata *metadata,
|
|
1158
1159
|
VALUE rb_owner = self;
|
1159
1160
|
static VALUE mGLibObject = Qnil;
|
1160
1161
|
|
1162
|
+
if (rb_gi_is_debug_mode()) {
|
1163
|
+
GICallableInfo *callable_info = metadata->callable_info;
|
1164
|
+
g_print("[rb-gi] callback: %s::%s()\n",
|
1165
|
+
g_base_info_get_namespace(callable_info),
|
1166
|
+
g_base_info_get_name(callable_info));
|
1167
|
+
rb_p(rb_ary_new_from_args(2, self, rb_arguments));
|
1168
|
+
}
|
1169
|
+
|
1161
1170
|
callback_data = ALLOC(RBGICallbackData);
|
1162
1171
|
callback_data->callback = callback;
|
1163
1172
|
callback_data->metadata = metadata;
|
@@ -1165,6 +1174,16 @@ in_callback_argument_from_ruby(RBGIArgMetadata *metadata,
|
|
1165
1174
|
if (NIL_P(mGLibObject)) {
|
1166
1175
|
mGLibObject = rb_const_get(mGLib, rb_intern("Object"));
|
1167
1176
|
}
|
1177
|
+
if (NIL_P(rb_owner)) {
|
1178
|
+
/* Module function case. */
|
1179
|
+
VALUE rb_first_argument = rb_ary_entry(rb_arguments, 0);
|
1180
|
+
if (rb_obj_is_kind_of(rb_first_argument, mGLibObject)) {
|
1181
|
+
/* If the first argument of the module function call is
|
1182
|
+
GObject, it's suitable for owner.
|
1183
|
+
For example: pango_cairo_context_set_shape_renderer() */
|
1184
|
+
rb_owner = rb_first_argument;
|
1185
|
+
}
|
1186
|
+
}
|
1168
1187
|
if (rb_obj_is_kind_of(rb_owner, mGLibObject)) {
|
1169
1188
|
rbgobj_object_add_relative(rb_owner, callback_data->rb_callback);
|
1170
1189
|
callback_data->owner = RVAL2GOBJ(rb_owner);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2012-
|
3
|
+
* Copyright (C) 2012-2019 Ruby-GNOME2 Project Team
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
6
6
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -41,6 +41,8 @@
|
|
41
41
|
|
42
42
|
extern void Init_gobject_introspection(void);
|
43
43
|
|
44
|
+
gboolean rb_gi_is_debug_mode(void);
|
45
|
+
|
44
46
|
void rb_gi_argument_init (void);
|
45
47
|
|
46
48
|
void rb_gi_type_tag_init (VALUE rb_mGI);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2012-
|
3
|
+
* Copyright (C) 2012-2019 Ruby-GNOME2 Project Team
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
6
6
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -22,11 +22,26 @@
|
|
22
22
|
|
23
23
|
#define RG_TARGET_NAMESPACE rb_mGObjectIntrospection
|
24
24
|
|
25
|
+
static gboolean is_debug_mode = FALSE;
|
26
|
+
|
27
|
+
gboolean
|
28
|
+
rb_gi_is_debug_mode(void)
|
29
|
+
{
|
30
|
+
return is_debug_mode;
|
31
|
+
}
|
32
|
+
|
25
33
|
void
|
26
34
|
Init_gobject_introspection(void)
|
27
35
|
{
|
28
36
|
VALUE RG_TARGET_NAMESPACE;
|
29
37
|
|
38
|
+
{
|
39
|
+
const char *rb_gi_debug_env = getenv("RB_GI_DEBUG");
|
40
|
+
if (rb_gi_debug_env && strcmp(rb_gi_debug_env, "yes") == 0) {
|
41
|
+
is_debug_mode = TRUE;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
30
45
|
RG_TARGET_NAMESPACE = rb_define_module("GObjectIntrospection");
|
31
46
|
|
32
47
|
rb_define_const(RG_TARGET_NAMESPACE, "BUILD_VERSION",
|
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.3.
|
4
|
+
version: 3.3.2
|
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: 2019-
|
11
|
+
date: 2019-02-02 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.3.
|
19
|
+
version: 3.3.2
|
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.3.
|
26
|
+
version: 3.3.2
|
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
|
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
135
|
- !ruby/object:Gem::Version
|
136
136
|
version: '0'
|
137
137
|
requirements: []
|
138
|
-
rubygems_version: 3.0.
|
138
|
+
rubygems_version: 3.1.0.pre1
|
139
139
|
signing_key:
|
140
140
|
specification_version: 4
|
141
141
|
summary: Ruby/GObjectIntrospection is a Ruby binding of GObject Introspection.
|