gobject-introspection 3.3.1 → 3.3.2
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:
|
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.
|