fxruby 1.6.33-x64-mingw32 → 1.6.34-x64-mingw32
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/History.txt +9 -1
- data/Rakefile +2 -2
- data/examples/thread.rb +3 -3
- data/ext/fox16_c/FXRuby.cpp +7 -5
- data/ext/fox16_c/extconf.rb +9 -1
- data/ext/fox16_c/gvl_wrappers.cpp +3 -1
- data/ext/fox16_c/include/FXRuby.h +0 -14
- data/ext/fox16_c/include/gvl_wrappers.h +15 -11
- data/lib/2.0/fox16_c.so +0 -0
- data/lib/2.1/fox16_c.so +0 -0
- data/lib/2.2/fox16_c.so +0 -0
- data/lib/2.3/fox16_c.so +0 -0
- data/lib/fox16/thread.rb +2 -1
- data/lib/fox16/version.rb +1 -1
- data/ports/x86_64-w64-mingw32/bin/libFOX-1.6-0.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libfxscintilla-20.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libgcc_s_sjlj-1.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libjpeg-8.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libpng15-15.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libstdc++-6.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libtiff-5.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libwinpthread-1.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/zlib1.dll +0 -0
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8774c5c14f1a23e2a176872a90ef38d5edc2fdaf
|
4
|
+
data.tar.gz: 57bedd1c412f5c089a19ef0f88b70b661bb962a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e45a49b4a205a8c80a632a1f93d0551eda9c033ab2a521fd91e87949fe812ef2db502c7b74a64b313bb75354cb385581e0530da40cad8518edef9ec46160707
|
7
|
+
data.tar.gz: 04585b0e65b3972d08e0b03332194988f454af933426065e089173259071fae3b5fab6d5e041c6f2d4fda0954a8e8f63d1849bf003cb318c8b02366dcc832557
|
data/History.txt
CHANGED
@@ -1,6 +1,14 @@
|
|
1
|
+
=== 1.6.34 / 2016-04-26
|
2
|
+
|
3
|
+
* Add support for RubyInstaller-2.3
|
4
|
+
* Avoid RARRAY_PTR() which broke fxruby on ruby-2.3.0.
|
5
|
+
* Make use of StringValueCStr() where it is suitable.
|
6
|
+
* Fix initialisation of runOnUiThread event handler, when FXApp is called with a block.
|
7
|
+
* Disable GVL on RubyInstaller-1.9.3. Fixes #24
|
8
|
+
|
1
9
|
=== 1.6.33 / 2015-08-20
|
2
10
|
|
3
|
-
* Avoid calls that are prohibited
|
11
|
+
* Avoid rb_* calls that are prohibited during GC. Fixes #23
|
4
12
|
* Use copy'ing getters for FXVec members in FXMat*, FXMaterial and FXLight.
|
5
13
|
This fixes the TC_FXMaterial#test_bug test case.
|
6
14
|
* Fix test suite, so that all tests pass.
|
data/Rakefile
CHANGED
@@ -70,7 +70,7 @@ hoe = Hoe.spec "fxruby" do
|
|
70
70
|
self.extra_rdoc_files << self.readme_file
|
71
71
|
self.extra_deps << ['mini_portile', '~> 0.6']
|
72
72
|
self.extra_dev_deps << ['rake-compiler', '~> 0.9']
|
73
|
-
self.extra_dev_deps << ['rake-compiler-dock', '~> 0.
|
73
|
+
self.extra_dev_deps << ['rake-compiler-dock', '~> 0.5.2']
|
74
74
|
self.extra_dev_deps << ['opengl', '~> 0.8']
|
75
75
|
self.extra_dev_deps << ['glu', '~> 8.0']
|
76
76
|
self.extra_dev_deps << ['test-unit', '~> 3.1']
|
@@ -157,7 +157,7 @@ end
|
|
157
157
|
desc "Build the windows binary gems"
|
158
158
|
task 'gem:windows' => 'gem' do
|
159
159
|
require 'rake_compiler_dock'
|
160
|
-
RakeCompilerDock.sh "rake cross native gem
|
160
|
+
RakeCompilerDock.sh "rake cross native gem MAKE=\"nice make V=1 -j `nproc`\" "
|
161
161
|
end
|
162
162
|
|
163
163
|
# Set environment variable SWIG_LIB to
|
data/examples/thread.rb
CHANGED
@@ -10,8 +10,8 @@ class ThreadedWindow < Fox::FXMainWindow
|
|
10
10
|
super(app, "Threaded Widget Test", :opts => DECOR_ALL, width: 200, height: 500)
|
11
11
|
|
12
12
|
@vframe = FXVerticalFrame.new(self,
|
13
|
-
FRAME_SUNKEN|FRAME_THICK|
|
14
|
-
FXButton.new(frame, "
|
13
|
+
FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL, :padding => 0) do |frame|
|
14
|
+
FXButton.new(frame, "Click to add", opts: FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X) do |button|
|
15
15
|
button.connect(SEL_COMMAND, method(:on_button_clicked))
|
16
16
|
end
|
17
17
|
end
|
@@ -19,7 +19,7 @@ class ThreadedWindow < Fox::FXMainWindow
|
|
19
19
|
|
20
20
|
def on_button_clicked(sender, sel, ptr)
|
21
21
|
FXHorizontalFrame.new(@vframe,
|
22
|
-
FRAME_SUNKEN|FRAME_THICK|
|
22
|
+
FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL, :padding => 10) do |frame|
|
23
23
|
|
24
24
|
label = FXLabel.new frame, "..."
|
25
25
|
|
data/ext/fox16_c/FXRuby.cpp
CHANGED
@@ -1347,14 +1347,16 @@ static ID id_backtrace;
|
|
1347
1347
|
static VALUE handle_rescue(VALUE args,VALUE error){
|
1348
1348
|
VALUE info=rb_gv_get("$!");
|
1349
1349
|
VALUE errat=rb_funcall(info,id_backtrace,0);
|
1350
|
-
VALUE mesg=
|
1350
|
+
VALUE mesg=rb_ary_entry(errat, 0);
|
1351
|
+
VALUE info_str=rb_obj_as_string(info);
|
1351
1352
|
fprintf(stderr,"%s: %s (%s)\n",
|
1352
|
-
|
1353
|
-
|
1353
|
+
StringValueCStr(mesg),
|
1354
|
+
StringValueCStr(info_str),
|
1354
1355
|
rb_class2name(CLASS_OF(info)));
|
1355
1356
|
for(int i=1;i<RARRAY_LEN(errat);i++){
|
1356
|
-
|
1357
|
-
|
1357
|
+
VALUE entry = rb_ary_entry(errat, i);
|
1358
|
+
if(TYPE(entry)==T_STRING){
|
1359
|
+
fprintf(stderr,"\tfrom %s\n",StringValueCStr(entry));
|
1358
1360
|
}
|
1359
1361
|
}
|
1360
1362
|
return Qnil;
|
data/ext/fox16_c/extconf.rb
CHANGED
@@ -313,7 +313,15 @@ def do_rake_compiler_setup
|
|
313
313
|
end
|
314
314
|
|
315
315
|
checking_for("thread local variables") do
|
316
|
-
$defs.push( "-DHAVE___THREAD" ) if try_compile(
|
316
|
+
$defs.push( "-DHAVE___THREAD" ) if try_compile(<<-EOT)
|
317
|
+
__thread int x=1;
|
318
|
+
#if defined(__MINGW32__)
|
319
|
+
#include <windows.h>
|
320
|
+
#if !defined(__MINGW64_VERSION_MAJOR)
|
321
|
+
#error "Old mingw32 compiler doesn't implement thread local variables properly."
|
322
|
+
#endif
|
323
|
+
#endif
|
324
|
+
EOT
|
317
325
|
end &&
|
318
326
|
have_func('rb_thread_call_without_gvl') &&
|
319
327
|
have_func('rb_thread_call_with_gvl')
|
@@ -5,7 +5,9 @@
|
|
5
5
|
|
6
6
|
#include "FXRbCommon.h"
|
7
7
|
|
8
|
-
|
8
|
+
#ifdef HAVE___THREAD
|
9
|
+
__thread int g_fxrb_thread_has_gvl = 1;
|
10
|
+
#endif
|
9
11
|
|
10
12
|
FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_WRAPPER_STRUCT );
|
11
13
|
FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_SKELETON );
|
@@ -27,20 +27,6 @@
|
|
27
27
|
#ifndef FXRUBY_H
|
28
28
|
#define FXRUBY_H
|
29
29
|
|
30
|
-
// RARRAY_LEN, RARRAY_PTR, RSTRING_LEN and RSTRING_PTR macros not defined before Ruby 1.8.6
|
31
|
-
#ifndef RARRAY_LEN
|
32
|
-
#define RARRAY_LEN(a) RARRAY((a))->len
|
33
|
-
#endif
|
34
|
-
#ifndef RARRAY_PTR
|
35
|
-
#define RARRAY_PTR(a) RARRAY((a))->ptr
|
36
|
-
#endif
|
37
|
-
#ifndef RSTRING_LEN
|
38
|
-
#define RSTRING_LEN(s) RSTRING((s))->len
|
39
|
-
#endif
|
40
|
-
#ifndef RSTRING_PTR
|
41
|
-
#define RSTRING_PTR(s) RSTRING((s))->ptr
|
42
|
-
#endif
|
43
|
-
|
44
30
|
#ifndef NUM2SIZET
|
45
31
|
#define NUM2SIZET(s) NUM2ULONG(s)
|
46
32
|
#endif
|
@@ -55,19 +55,21 @@ void fxrb_wakeup_fox(void *);
|
|
55
55
|
when_non_void( rettype retval; ) \
|
56
56
|
};
|
57
57
|
|
58
|
-
|
59
|
-
|
60
|
-
#
|
61
|
-
static void * gvl_##klass##_##name##_skeleton( void *data ){ \
|
62
|
-
struct gvl_wrapper_##klass##_##name##_params *p = (struct gvl_wrapper_##klass##_##name##_params*)data; \
|
63
|
-
g_fxrb_thread_has_gvl = 0; \
|
64
|
-
when_non_void( p->retval = ) \
|
65
|
-
klass##_##name##_gvl( p->params.firstparamname FOR_EACH_PARAM_OF_##baseclass##_##name(DEFINE_PARAM_LIST2) ); \
|
66
|
-
g_fxrb_thread_has_gvl = 1; \
|
67
|
-
return NULL; \
|
68
|
-
}
|
58
|
+
#ifdef HAVE___THREAD
|
59
|
+
extern __thread int g_fxrb_thread_has_gvl;
|
60
|
+
#endif
|
69
61
|
|
70
62
|
#if defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL)
|
63
|
+
#define DEFINE_GVL_SKELETON(klass, name, baseclass, when_non_void, rettype, firstparamtype, firstparamname) \
|
64
|
+
static void * gvl_##klass##_##name##_skeleton( void *data ){ \
|
65
|
+
struct gvl_wrapper_##klass##_##name##_params *p = (struct gvl_wrapper_##klass##_##name##_params*)data; \
|
66
|
+
g_fxrb_thread_has_gvl = 0; \
|
67
|
+
when_non_void( p->retval = ) \
|
68
|
+
klass##_##name##_gvl( p->params.firstparamname FOR_EACH_PARAM_OF_##baseclass##_##name(DEFINE_PARAM_LIST2) ); \
|
69
|
+
g_fxrb_thread_has_gvl = 1; \
|
70
|
+
return NULL; \
|
71
|
+
}
|
72
|
+
|
71
73
|
#define DEFINE_GVL_STUB(klass, name, baseclass, when_non_void, rettype, firstparamtype, firstparamname) \
|
72
74
|
rettype klass##_##name(firstparamtype firstparamname FOR_EACH_PARAM_OF_##baseclass##_##name(DEFINE_PARAM_LIST3)){ \
|
73
75
|
struct gvl_wrapper_##klass##_##name##_params params = { \
|
@@ -77,6 +79,8 @@ extern __thread int g_fxrb_thread_has_gvl;
|
|
77
79
|
when_non_void( return params.retval; ) \
|
78
80
|
}
|
79
81
|
#else
|
82
|
+
#define DEFINE_GVL_SKELETON(klass, name, baseclass, when_non_void, rettype, firstparamtype, firstparamname)
|
83
|
+
|
80
84
|
#define DEFINE_GVL_STUB(klass, name, baseclass, when_non_void, rettype, firstparamtype, firstparamname) \
|
81
85
|
rettype klass##_##name(firstparamtype firstparamname FOR_EACH_PARAM_OF_##baseclass##_##name(DEFINE_PARAM_LIST3)){ \
|
82
86
|
return klass##_##name##_gvl(firstparamname FOR_EACH_PARAM_OF_##baseclass##_##name(DEFINE_PARAM_LIST1)); \
|
data/lib/2.0/fox16_c.so
CHANGED
Binary file
|
data/lib/2.1/fox16_c.so
CHANGED
Binary file
|
data/lib/2.2/fox16_c.so
CHANGED
Binary file
|
data/lib/2.3/fox16_c.so
ADDED
Binary file
|
data/lib/fox16/thread.rb
CHANGED
@@ -7,8 +7,9 @@ module Fox
|
|
7
7
|
alias initialize_before_thread initialize # :nodoc:
|
8
8
|
|
9
9
|
def initialize(*args, &block)
|
10
|
-
initialize_before_thread(*args
|
10
|
+
initialize_before_thread(*args)
|
11
11
|
event_handler_setup
|
12
|
+
block.call(self) if block_given?
|
12
13
|
end
|
13
14
|
|
14
15
|
def runOnUiThread(&block)
|
data/lib/fox16/version.rb
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fxruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.34
|
5
5
|
platform: x64-mingw32
|
6
6
|
authors:
|
7
7
|
- Lyle Johnson
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-04-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mini_portile
|
@@ -59,14 +59,14 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0.
|
62
|
+
version: 0.5.2
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
69
|
+
version: 0.5.2
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: opengl
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,14 +115,14 @@ dependencies:
|
|
115
115
|
requirements:
|
116
116
|
- - "~>"
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: '3.
|
118
|
+
version: '3.14'
|
119
119
|
type: :development
|
120
120
|
prerelease: false
|
121
121
|
version_requirements: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
123
|
- - "~>"
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: '3.
|
125
|
+
version: '3.14'
|
126
126
|
description: FXRuby is the Ruby binding to the FOX GUI toolkit.
|
127
127
|
email:
|
128
128
|
- lyle@lylejohnson.name
|
@@ -526,6 +526,7 @@ files:
|
|
526
526
|
- lib/2.0/fox16_c.so
|
527
527
|
- lib/2.1/fox16_c.so
|
528
528
|
- lib/2.2/fox16_c.so
|
529
|
+
- lib/2.3/fox16_c.so
|
529
530
|
- lib/fox16.rb
|
530
531
|
- lib/fox16/accel_table.rb
|
531
532
|
- lib/fox16/aliases.rb
|
@@ -1111,7 +1112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1111
1112
|
version: '0'
|
1112
1113
|
requirements: []
|
1113
1114
|
rubyforge_project:
|
1114
|
-
rubygems_version: 2.
|
1115
|
+
rubygems_version: 2.5.1
|
1115
1116
|
signing_key:
|
1116
1117
|
specification_version: 4
|
1117
1118
|
summary: FXRuby is the Ruby binding to the FOX GUI toolkit.
|