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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 976877f65b3913a2d3e2fc78ac76584f8e2b5556
4
- data.tar.gz: 345d83f552be95f775894c3dc08cb631a796d046
3
+ metadata.gz: 8774c5c14f1a23e2a176872a90ef38d5edc2fdaf
4
+ data.tar.gz: 57bedd1c412f5c089a19ef0f88b70b661bb962a1
5
5
  SHA512:
6
- metadata.gz: 93560a1477f13a78e678248c3252e3ea56b32d61a242cbea35b5de2adf129922dedfe04775f4df373acfa9c426249e30b8dafd17c1ab20f2eedd2595cbe54b3a
7
- data.tar.gz: 0cf5f68b271b6f6b4c07b94a9f0b057446008d57eba87686fa3abe8a5d88d2eab0ef56897c0b5722e0db555b147a05093857e3c1c058c055c5156e9bb19bbeae
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 while GC phases during GC. Fixes #23
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.4.3']
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 RUBYOPT=--disable-rubygems MAKE=\"nice make V=1 -j `nproc`\" "
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|LAYOUT_FILL_X|LAYOUT_FILL_Y, :padding => 0) do |frame|
14
- FXButton.new(frame, "Klick to add", opts: FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X) do |button|
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|LAYOUT_FILL_X|LAYOUT_FILL_Y, :padding => 10) do |frame|
22
+ FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL, :padding => 10) do |frame|
23
23
 
24
24
  label = FXLabel.new frame, "..."
25
25
 
@@ -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=RARRAY_PTR(errat)[0];
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
- StringValuePtr(mesg),
1353
- RSTRING_PTR(rb_obj_as_string(info)),
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
- if(TYPE(RARRAY_PTR(errat)[i])==T_STRING){
1357
- fprintf(stderr,"\tfrom %s\n",StringValuePtr(RARRAY_PTR(errat)[i]));
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;
@@ -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('__thread int x=1;')
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
- __thread int g_fxrb_thread_has_gvl = 1;
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
- extern __thread int g_fxrb_thread_has_gvl;
59
-
60
- #define DEFINE_GVL_SKELETON(klass, name, baseclass, when_non_void, rettype, firstparamtype, firstparamname) \
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
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, &block)
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
@@ -1,5 +1,5 @@
1
1
  module Fox
2
2
  def Fox.fxrubyversion
3
- "1.6.33"
3
+ "1.6.34"
4
4
  end
5
5
  end
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.33
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: 2015-08-21 00:00:00.000000000 Z
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.4.3
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.4.3
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.13'
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.13'
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.4.8
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.