fxruby 1.6.32-x86-mingw32 → 1.6.33-x86-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 +8 -0
 - data/README.rdoc +7 -4
 - data/Rakefile +11 -0
 - data/examples/WhatAQuietStiff.rb +1 -1
 - data/examples/imageviewer.rb +1 -1
 - data/examples/textedit/textedit.rb +8 -8
 - data/ext/fox16_c/FXRuby.cpp +52 -20
 - data/ext/fox16_c/extconf.rb +1 -0
 - data/ext/fox16_c/include/FXRbWindow.h +2 -2
 - data/ext/fox16_c/include/FXRuby.h +5 -1
 - data/ext/fox16_c/markfuncs.cpp +24 -0
 - data/lib/1.8/fox16_c.so +0 -0
 - data/lib/1.9/fox16_c.so +0 -0
 - 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/fox16/core.rb +0 -8
 - data/lib/fox16/thread.rb +2 -2
 - data/lib/fox16/version.rb +1 -1
 - data/ports/i586-mingw32msvc/bin/libFOX-1.6-0.dll +0 -0
 - data/ports/i586-mingw32msvc/bin/libfxscintilla-20.dll +0 -0
 - data/ports/i586-mingw32msvc/bin/libjpeg-8.dll +0 -0
 - data/ports/i586-mingw32msvc/bin/libpng15-15.dll +0 -0
 - data/ports/i586-mingw32msvc/bin/libtiff-5.dll +0 -0
 - data/ports/i586-mingw32msvc/bin/zlib1.dll +0 -0
 - data/ports/i686-w64-mingw32/bin/libFOX-1.6-0.dll +0 -0
 - data/ports/i686-w64-mingw32/bin/libfxscintilla-20.dll +0 -0
 - data/ports/i686-w64-mingw32/bin/libgcc_s_sjlj-1.dll +0 -0
 - data/ports/i686-w64-mingw32/bin/libjpeg-8.dll +0 -0
 - data/ports/i686-w64-mingw32/bin/libpng15-15.dll +0 -0
 - data/ports/i686-w64-mingw32/bin/libstdc++-6.dll +0 -0
 - data/ports/i686-w64-mingw32/bin/libtiff-5.dll +0 -0
 - data/ports/i686-w64-mingw32/bin/libwinpthread-1.dll +0 -0
 - data/ports/i686-w64-mingw32/bin/zlib1.dll +0 -0
 - data/swig-interfaces/FXVec2d.i +1 -0
 - data/swig-interfaces/FXVec2f.i +1 -0
 - data/swig-interfaces/FXVec3d.i +1 -0
 - data/swig-interfaces/FXVec3f.i +1 -0
 - data/swig-interfaces/FXVec4d.i +1 -0
 - data/swig-interfaces/FXVec4f.i +1 -0
 - data/swig-interfaces/ruby-typemaps.i +15 -9
 - data/test/TC_FXApp.rb +2 -2
 - data/test/TC_FXCheckButton.rb +0 -5
 - data/test/TC_FXDCPrint.rb +1 -1
 - data/test/TC_FXFileStream.rb +1 -1
 - data/test/TC_FXFont.rb +2 -2
 - data/test/TC_FXId.rb +1 -1
 - data/test/TC_FXImage.rb +2 -2
 - data/test/TC_FXMainWindow.rb +1 -0
 - data/test/TC_FXMat4f.rb +3 -3
 - data/test/TC_FXMaterial.rb +1 -1
 - data/test/TC_FXMenuCheck.rb +0 -5
 - data/test/TC_FXMenuRadio.rb +0 -5
 - data/test/TC_FXQuatf.rb +5 -5
 - data/test/TC_FXRadioButton.rb +0 -5
 - data/test/TC_FXRegion.rb +3 -3
 - data/test/TC_FXShell.rb +1 -0
 - data/test/TC_FXTable.rb +1 -1
 - data/test/TC_FXVec4f.rb +1 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 75ffb1bf31368b4ec60a58c908d8b2944a16c6fc
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: c39dc0c3130aec21545875fcf86d7e4e986bdb18
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 0b3ab472ca46648a64d74b5099806b568fc0739f14bb3ec37581fef1543f7c44896120b0b02c331e7d35a824ba935016efb425ce800707ee129622bb34b54ea4
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 9ab7eb8aed3589aabe7e340b3faceb4c5b7da01f8f6280fc1a5459bc76c577fa27582a3f8029c85ca85f53b78bbfac766a06029319e70533b339ce1ca25bd391
         
     | 
    
        data/History.txt
    CHANGED
    
    | 
         @@ -1,3 +1,11 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            === 1.6.33 / 2015-08-20
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            * Avoid calls that are prohibited while GC phases during GC. Fixes #23
         
     | 
| 
      
 4 
     | 
    
         
            +
            * Use copy'ing getters for FXVec members in FXMat*, FXMaterial and FXLight.
         
     | 
| 
      
 5 
     | 
    
         
            +
              This fixes the TC_FXMaterial#test_bug test case.
         
     | 
| 
      
 6 
     | 
    
         
            +
            * Fix test suite, so that all tests pass.
         
     | 
| 
      
 7 
     | 
    
         
            +
            * Add a travis-ci test setup and connect it to the github account.
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
       1 
9 
     | 
    
         
             
            === 1.6.32 / 2015-08-07
         
     | 
| 
       2 
10 
     | 
    
         | 
| 
       3 
11 
     | 
    
         
             
            * Avoid call to rb_class2name() during GC. Fixes #21
         
     | 
    
        data/README.rdoc
    CHANGED
    
    | 
         @@ -1,7 +1,9 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            = FXRuby
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            * http://github.com/larskanis/fxruby
         
     | 
| 
       4 
     | 
    
         
            -
            * API: http://rubydoc.info/gems/fxruby/frames
         
     | 
| 
      
 4 
     | 
    
         
            +
            * Full API-description: http://rubydoc.info/gems/fxruby/frames
         
     | 
| 
      
 5 
     | 
    
         
            +
            * Latest fxruby {<img src="https://badge.fury.io/rb/fxruby.svg" alt="Gem Version" />}[http://badge.fury.io/rb/fxruby]
         
     | 
| 
      
 6 
     | 
    
         
            +
            * Status (on Linux): {<img src="https://travis-ci.org/larskanis/fxruby.svg?branch=1.6" alt="Build Status" />}[https://travis-ci.org/larskanis/fxruby]
         
     | 
| 
       5 
7 
     | 
    
         | 
| 
       6 
8 
     | 
    
         
             
            == DESCRIPTION:
         
     | 
| 
       7 
9 
     | 
    
         | 
| 
         @@ -14,7 +16,7 @@ Ruby programming language that you already know and love, while at the 
     | 
|
| 
       14 
16 
     | 
    
         
             
            same time taking advantage of the performance and functionality of a
         
     | 
| 
       15 
17 
     | 
    
         
             
            featureful, highly optimized C++ toolkit.
         
     | 
| 
       16 
18 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            == FEATURES 
     | 
| 
      
 19 
     | 
    
         
            +
            == FEATURES:
         
     | 
| 
       18 
20 
     | 
    
         | 
| 
       19 
21 
     | 
    
         
             
            FXRuby supportes everything of FOX, that is useful in Ruby:
         
     | 
| 
       20 
22 
     | 
    
         
             
            * MDI/SDI application window layouts, floating toolbars
         
     | 
| 
         @@ -22,14 +24,15 @@ FXRuby supportes everything of FOX, that is useful in Ruby: 
     | 
|
| 
       22 
24 
     | 
    
         
             
            * Flexible layout management
         
     | 
| 
       23 
25 
     | 
    
         
             
            * Image read/write support in many formats
         
     | 
| 
       24 
26 
     | 
    
         
             
            * Embedded OpenGL graphics
         
     | 
| 
      
 27 
     | 
    
         
            +
            * Thread support
         
     | 
| 
       25 
28 
     | 
    
         | 
| 
       26 
29 
     | 
    
         
             
            == INSTALL:
         
     | 
| 
       27 
30 
     | 
    
         | 
| 
       28 
     | 
    
         
            -
            FXRuby runs on Linux, Windows and OS-X. Installation on  
     | 
| 
      
 31 
     | 
    
         
            +
            FXRuby runs on Linux, Windows and OS-X with Ruby-1.9.3 or newer and with Rubinius. Installation on Unix requires
         
     | 
| 
       29 
32 
     | 
    
         
             
            FOX development headers and libraries installed:
         
     | 
| 
       30 
33 
     | 
    
         
             
            * on Debian/Ubuntu: <tt>sudo apt-get install g++ libxrandr-dev libfox-1.6-dev</tt>
         
     | 
| 
       31 
34 
     | 
    
         
             
            * see also detailed installation instructions in the {https://github.com/lylejohnson/fxruby/wiki Wiki}
         
     | 
| 
       32 
     | 
    
         
            -
            *  
     | 
| 
      
 35 
     | 
    
         
            +
            * on Windows: the binary fxruby gems already contain all required libararies
         
     | 
| 
       33 
36 
     | 
    
         | 
| 
       34 
37 
     | 
    
         
             
            Then, install the gem:
         
     | 
| 
       35 
38 
     | 
    
         
             
            * gem install fxruby
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -21,6 +21,9 @@ end 
     | 
|
| 
       21 
21 
     | 
    
         
             
            # Some constants we'll need
         
     | 
| 
       22 
22 
     | 
    
         
             
            PKG_VERSION = Fox.fxrubyversion
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
      
 24 
     | 
    
         
            +
            LIBFXSCINTILLA_VERSION            = ENV['LIBFXSCINTILLA_VERSION'] || '2.28.0'
         
     | 
| 
      
 25 
     | 
    
         
            +
            LIBFXSCINTILLA_SOURCE_URI         = "http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-#{LIBFXSCINTILLA_VERSION}.tar.gz"
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
       24 
27 
     | 
    
         
             
            SWIG = (RUBY_PLATFORM =~ /mingw/) ? "swig.exe" : "swig"
         
     | 
| 
       25 
28 
     | 
    
         
             
            SWIGFLAGS = "-c++ -ruby -nodefaultdtor -nodefaultctor -w302 -features compactdefaultargs -I../fox-includes"
         
     | 
| 
       26 
29 
     | 
    
         
             
            SWIG_MODULES = {
         
     | 
| 
         @@ -99,6 +102,8 @@ task :test => [:compile] 
     | 
|
| 
       99 
102 
     | 
    
         
             
            Rake::ExtensionTask.new("fox16_c", hoe.spec) do |ext|
         
     | 
| 
       100 
103 
     | 
    
         
             
              ext.cross_compile = true
         
     | 
| 
       101 
104 
     | 
    
         
             
              ext.cross_platform = ['x86-mingw32', 'x64-mingw32']
         
     | 
| 
      
 105 
     | 
    
         
            +
              # Enable FXTRACE and FXASSERT for 'rake compile'
         
     | 
| 
      
 106 
     | 
    
         
            +
              ext.config_options << "--enable-debug"
         
     | 
| 
       102 
107 
     | 
    
         | 
| 
       103 
108 
     | 
    
         
             
              ext.cross_config_options += [
         
     | 
| 
       104 
109 
     | 
    
         
             
                  "--enable-win32-cross",
         
     | 
| 
         @@ -253,6 +258,12 @@ namespace :fxruby do 
     | 
|
| 
       253 
258 
     | 
    
         
             
              file "ext/fox16_c/extconf.rb" => ['ext/fox16_c/swigruby.h', 'ext/fox16_c/impl.cpp', 'ext/fox16_c/include/inlinestubs.h'] +
         
     | 
| 
       254 
259 
     | 
    
         
             
                  SWIG_MODULES.map{|ifile, cppfile| File.join("ext/fox16_c", cppfile) }
         
     | 
| 
       255 
260 
     | 
    
         | 
| 
      
 261 
     | 
    
         
            +
             
     | 
| 
      
 262 
     | 
    
         
            +
              directory "ports/archives"
         
     | 
| 
      
 263 
     | 
    
         
            +
              file "ports/archives/fxscintilla-2.28.0.tar.gz" => ["ports/archives"] do |t|
         
     | 
| 
      
 264 
     | 
    
         
            +
                sh "wget #{LIBFXSCINTILLA_SOURCE_URI} -O #{t.name}"
         
     | 
| 
      
 265 
     | 
    
         
            +
              end
         
     | 
| 
      
 266 
     | 
    
         
            +
             
     | 
| 
       256 
267 
     | 
    
         
             
              directory "tmp/fxscintilla"
         
     | 
| 
       257 
268 
     | 
    
         
             
              task "tmp/fxscintilla/fxscintilla-2.28.0/include/Scintilla.iface" => ["tmp/fxscintilla", "ports/archives/fxscintilla-2.28.0.tar.gz"] do
         
     | 
| 
       258 
269 
     | 
    
         
             
                chdir "tmp/fxscintilla" do
         
     | 
    
        data/examples/WhatAQuietStiff.rb
    CHANGED
    
    | 
         @@ -134,7 +134,7 @@ class WhatAQuietWindow < FXMainWindow 
     | 
|
| 
       134 
134 
     | 
    
         
             
                saveDialog = FXFileDialog.new(self, "Save Image")
         
     | 
| 
       135 
135 
     | 
    
         
             
                saveDialog.filename = @itemList.getItemText(@itemList.currentItem)
         
     | 
| 
       136 
136 
     | 
    
         
             
                if saveDialog.execute != 0
         
     | 
| 
       137 
     | 
    
         
            -
                  if File. 
     | 
| 
      
 137 
     | 
    
         
            +
                  if File.exist? saveDialog.filename
         
     | 
| 
       138 
138 
     | 
    
         
             
                    if MBOX_CLICKED_NO == FXMessageBox.question(self, MBOX_YES_NO,
         
     | 
| 
       139 
139 
     | 
    
         
             
                      "Overwrite Image", "Overwrite existing image?")
         
     | 
| 
       140 
140 
     | 
    
         
             
                      return 1
         
     | 
    
        data/examples/imageviewer.rb
    CHANGED
    
    | 
         @@ -326,7 +326,7 @@ class ImageWindow < FXMainWindow 
     | 
|
| 
       326 
326 
     | 
    
         
             
              def onCmdSave(sender, sel, ptr)
         
     | 
| 
       327 
327 
     | 
    
         
             
                saveDialog = FXFileDialog.new(self, "Save Image")
         
     | 
| 
       328 
328 
     | 
    
         
             
                if saveDialog.execute != 0
         
     | 
| 
       329 
     | 
    
         
            -
                  if File. 
     | 
| 
      
 329 
     | 
    
         
            +
                  if File.exist? saveDialog.filename
         
     | 
| 
       330 
330 
     | 
    
         
             
                    if MBOX_CLICKED_NO == FXMessageBox.question(self, MBOX_YES_NO,
         
     | 
| 
       331 
331 
     | 
    
         
             
                      "Overwrite Image", "Overwrite existing image?")
         
     | 
| 
       332 
332 
     | 
    
         
             
                      return 1
         
     | 
| 
         @@ -1025,7 +1025,7 @@ class TextWindow < FXMainWindow 
     | 
|
| 
       1025 
1025 
     | 
    
         
             
                      return false if (savedialog.execute == 0)
         
     | 
| 
       1026 
1026 
     | 
    
         
             
                      setCurrentPattern(savedialog.currentPattern)
         
     | 
| 
       1027 
1027 
     | 
    
         
             
                      file = savedialog.filename
         
     | 
| 
       1028 
     | 
    
         
            -
                      if File. 
     | 
| 
      
 1028 
     | 
    
         
            +
                      if File.exist?(file)
         
     | 
| 
       1029 
1029 
     | 
    
         
             
                        if MBOX_CLICKED_NO == FXMessageBox.question(self, MBOX_YES_NO,
         
     | 
| 
       1030 
1030 
     | 
    
         
             
                          "Overwrite Document", "Overwrite existing document: #{file}?")
         
     | 
| 
       1031 
1031 
     | 
    
         
             
                          return false
         
     | 
| 
         @@ -1092,7 +1092,7 @@ class TextWindow < FXMainWindow 
     | 
|
| 
       1092 
1092 
     | 
    
         
             
                if savedialog.execute != 0
         
     | 
| 
       1093 
1093 
     | 
    
         
             
                  setCurrentPattern(savedialog.currentPattern)
         
     | 
| 
       1094 
1094 
     | 
    
         
             
                  file = savedialog.filename
         
     | 
| 
       1095 
     | 
    
         
            -
                  if File. 
     | 
| 
      
 1095 
     | 
    
         
            +
                  if File.exist?(file)
         
     | 
| 
       1096 
1096 
     | 
    
         
             
                    if MBOX_CLICKED_NO == FXMessageBox.question(self, MBOX_YES_NO,
         
     | 
| 
       1097 
1097 
     | 
    
         
             
                      "Overwrite Document", "Overwrite existing document: #{file}?")
         
     | 
| 
       1098 
1098 
     | 
    
         
             
                      return 1
         
     | 
| 
         @@ -1134,24 +1134,24 @@ class TextWindow < FXMainWindow 
     | 
|
| 
       1134 
1134 
     | 
    
         
             
                  # Attempt to extract the file name from various forms
         
     | 
| 
       1135 
1135 
     | 
    
         
             
                  if    string =~ /#include \".*\"/
         
     | 
| 
       1136 
1136 
     | 
    
         
             
                    file = File.expand_path(name, dir)
         
     | 
| 
       1137 
     | 
    
         
            -
                    if !File. 
     | 
| 
      
 1137 
     | 
    
         
            +
                    if !File.exist?(file)
         
     | 
| 
       1138 
1138 
     | 
    
         
             
                      Find.find(@searchpath) { |f| file = f if (f == name) }
         
     | 
| 
       1139 
1139 
     | 
    
         
             
                    end
         
     | 
| 
       1140 
1140 
     | 
    
         
             
                  elsif string =~ /#include <.*>/
         
     | 
| 
       1141 
1141 
     | 
    
         
             
                    file = File.expand_path(name, dir)
         
     | 
| 
       1142 
     | 
    
         
            -
                    if !File. 
     | 
| 
      
 1142 
     | 
    
         
            +
                    if !File.exist?(file)
         
     | 
| 
       1143 
1143 
     | 
    
         
             
                      Find.find(@searchpath) { |f| file = f if (f == name) }
         
     | 
| 
       1144 
1144 
     | 
    
         
             
                    end
         
     | 
| 
       1145 
1145 
     | 
    
         
             
                  elsif string =~ /.*:.*:.*/
         
     | 
| 
       1146 
1146 
     | 
    
         
             
                    file = File.expand_path(name, dir)
         
     | 
| 
       1147 
     | 
    
         
            -
                    if !File. 
     | 
| 
      
 1147 
     | 
    
         
            +
                    if !File.exist?(file)
         
     | 
| 
       1148 
1148 
     | 
    
         
             
                      Find.find(@searchpath) { |f| file = f if (f == name) }
         
     | 
| 
       1149 
1149 
     | 
    
         
             
                    end
         
     | 
| 
       1150 
1150 
     | 
    
         
             
                  else
         
     | 
| 
       1151 
1151 
     | 
    
         
             
                    file = File.expand_path(string, dir)
         
     | 
| 
       1152 
1152 
     | 
    
         
             
                  end
         
     | 
| 
       1153 
1153 
     | 
    
         | 
| 
       1154 
     | 
    
         
            -
                  if File. 
     | 
| 
      
 1154 
     | 
    
         
            +
                  if File.exist?(file)
         
     | 
| 
       1155 
1155 
     | 
    
         
             
                    # Different from current file?
         
     | 
| 
       1156 
1156 
     | 
    
         
             
                    if file != @filename
         
     | 
| 
       1157 
1157 
     | 
    
         
             
                      # Save old file first
         
     | 
| 
         @@ -1213,7 +1213,7 @@ class TextWindow < FXMainWindow 
     | 
|
| 
       1213 
1213 
     | 
    
         
             
                if savedialog.execute != 0
         
     | 
| 
       1214 
1214 
     | 
    
         
             
                  setCurrentPattern(savedialog.currentPattern)
         
     | 
| 
       1215 
1215 
     | 
    
         
             
                  file = savedialog.filename
         
     | 
| 
       1216 
     | 
    
         
            -
                  if File. 
     | 
| 
      
 1216 
     | 
    
         
            +
                  if File.exist?(file)
         
     | 
| 
       1217 
1217 
     | 
    
         
             
                    if MBOX_CLICKED_NO == FXMessageBox.question(self, MBOX_YES_NO,
         
     | 
| 
       1218 
1218 
     | 
    
         
             
                      "Overwrite Document", "Overwrite existing document: #{file}?")
         
     | 
| 
       1219 
1219 
     | 
    
         
             
                      return 1
         
     | 
| 
         @@ -1690,7 +1690,7 @@ class TextWindow < FXMainWindow 
     | 
|
| 
       1690 
1690 
     | 
    
         | 
| 
       1691 
1691 
     | 
    
         
             
              # Update box for readonly display
         
     | 
| 
       1692 
1692 
     | 
    
         
             
              def onCheckFile(sender, sel, ptr)
         
     | 
| 
       1693 
     | 
    
         
            -
                mtime = File. 
     | 
| 
      
 1693 
     | 
    
         
            +
                mtime = File.exist?(@filename) ? File.mtime(@filename) : nil
         
     | 
| 
       1694 
1694 
     | 
    
         
             
                if @filetime && mtime && mtime != @filetime
         
     | 
| 
       1695 
1695 
     | 
    
         
             
                  @filetime = mtime
         
     | 
| 
       1696 
1696 
     | 
    
         
             
                  if MBOX_CLICKED_OK == FXMessageBox.warning(self, MBOX_OK_CANCEL,
         
     | 
    
        data/ext/fox16_c/FXRuby.cpp
    CHANGED
    
    | 
         @@ -85,12 +85,19 @@ static st_table * FXRuby_Objects; 
     | 
|
| 
       85 
85 
     | 
    
         | 
| 
       86 
86 
     | 
    
         
             
            static const char * const safe_rb_obj_classname(VALUE obj)
         
     | 
| 
       87 
87 
     | 
    
         
             
            {
         
     | 
| 
       88 
     | 
    
         
            -
               
     | 
| 
      
 88 
     | 
    
         
            +
              int tdata = TYPE(obj)==T_DATA;
         
     | 
| 
      
 89 
     | 
    
         
            +
              if( (tdata && FXRbIsInGC(DATA_PTR(obj)))
         
     | 
| 
      
 90 
     | 
    
         
            +
            #ifdef HAVE_RB_DURING_GC
         
     | 
| 
      
 91 
     | 
    
         
            +
                  || rb_during_gc()
         
     | 
| 
      
 92 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 93 
     | 
    
         
            +
              ){
         
     | 
| 
       89 
94 
     | 
    
         
             
                /* It's not safe to call rb_obj_classname() during GC.
         
     | 
| 
       90 
95 
     | 
    
         
             
                 * Return dummy value in this case. */
         
     | 
| 
       91 
96 
     | 
    
         
             
                return "during GC";
         
     | 
| 
       92 
     | 
    
         
            -
              } else {
         
     | 
| 
      
 97 
     | 
    
         
            +
              } else if (tdata) {
         
     | 
| 
       93 
98 
     | 
    
         
             
                return rb_obj_classname(obj);
         
     | 
| 
      
 99 
     | 
    
         
            +
              } else {
         
     | 
| 
      
 100 
     | 
    
         
            +
                return "no T_DATA";
         
     | 
| 
       94 
101 
     | 
    
         
             
              }
         
     | 
| 
       95 
102 
     | 
    
         
             
            }
         
     | 
| 
       96 
103 
     | 
    
         | 
| 
         @@ -161,6 +168,31 @@ bool FXRbIsBorrowed(void* ptr){ 
     | 
|
| 
       161 
168 
     | 
    
         
             
                }
         
     | 
| 
       162 
169 
     | 
    
         
             
              }
         
     | 
| 
       163 
170 
     | 
    
         | 
| 
      
 171 
     | 
    
         
            +
            bool FXRbSetInGC(const void* ptr, bool enabled){
         
     | 
| 
      
 172 
     | 
    
         
            +
              FXASSERT(ptr!=0);
         
     | 
| 
      
 173 
     | 
    
         
            +
              FXRubyObjDesc *desc;
         
     | 
| 
      
 174 
     | 
    
         
            +
              if(st_lookup(FXRuby_Objects,reinterpret_cast<st_data_t>(ptr),reinterpret_cast<st_data_t *>(&desc))!=0){
         
     | 
| 
      
 175 
     | 
    
         
            +
                desc->in_gc=enabled;
         
     | 
| 
      
 176 
     | 
    
         
            +
                return enabled;
         
     | 
| 
      
 177 
     | 
    
         
            +
                }
         
     | 
| 
      
 178 
     | 
    
         
            +
              return false;
         
     | 
| 
      
 179 
     | 
    
         
            +
              }
         
     | 
| 
      
 180 
     | 
    
         
            +
             
     | 
| 
      
 181 
     | 
    
         
            +
            bool FXRbIsInGC(const void* ptr){
         
     | 
| 
      
 182 
     | 
    
         
            +
              FXASSERT(ptr!=0);
         
     | 
| 
      
 183 
     | 
    
         
            +
              FXRubyObjDesc *desc;
         
     | 
| 
      
 184 
     | 
    
         
            +
             
     | 
| 
      
 185 
     | 
    
         
            +
            #ifdef HAVE_RB_DURING_GC
         
     | 
| 
      
 186 
     | 
    
         
            +
              if( rb_during_gc() ){
         
     | 
| 
      
 187 
     | 
    
         
            +
                return true;
         
     | 
| 
      
 188 
     | 
    
         
            +
              }
         
     | 
| 
      
 189 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 190 
     | 
    
         
            +
              if(st_lookup(FXRuby_Objects,reinterpret_cast<st_data_t>(ptr),reinterpret_cast<st_data_t *>(&desc))!=0){
         
     | 
| 
      
 191 
     | 
    
         
            +
                return desc->in_gc;
         
     | 
| 
      
 192 
     | 
    
         
            +
              }
         
     | 
| 
      
 193 
     | 
    
         
            +
              return false;
         
     | 
| 
      
 194 
     | 
    
         
            +
            }
         
     | 
| 
      
 195 
     | 
    
         
            +
             
     | 
| 
       164 
196 
     | 
    
         | 
| 
       165 
197 
     | 
    
         
             
            /**
         
     | 
| 
       166 
198 
     | 
    
         
             
             * FXRbConvertPtr() is just a wrapper around SWIG_ConvertPtr().
         
     | 
| 
         @@ -343,12 +375,13 @@ VALUE to_ruby(const FXObject* obj){ 
     | 
|
| 
       343 
375 
     | 
    
         
             
             * Return the registered Ruby class instance associated with this
         
     | 
| 
       344 
376 
     | 
    
         
             
             * FOX object, or Qnil if not found.
         
     | 
| 
       345 
377 
     | 
    
         
             
             */
         
     | 
| 
       346 
     | 
    
         
            -
            VALUE FXRbGetRubyObj(const void *foxObj,bool alsoBorrowed){
         
     | 
| 
      
 378 
     | 
    
         
            +
            VALUE FXRbGetRubyObj(const void *foxObj,bool alsoBorrowed, bool in_gc){
         
     | 
| 
       347 
379 
     | 
    
         
             
              FXRubyObjDesc* desc;
         
     | 
| 
       348 
380 
     | 
    
         
             
              if(foxObj!=0 && st_lookup(FXRuby_Objects,reinterpret_cast<st_data_t>(const_cast<void*>(foxObj)),reinterpret_cast<st_data_t *>(&desc))!=0){
         
     | 
| 
       349 
381 
     | 
    
         
             
                FXASSERT(desc!=0);
         
     | 
| 
       350 
382 
     | 
    
         
             
                if(alsoBorrowed || !desc->borrowed){
         
     | 
| 
       351 
     | 
    
         
            -
                   
     | 
| 
      
 383 
     | 
    
         
            +
                  const char *classname = in_gc ? "in GC" : safe_rb_obj_classname(desc->obj);
         
     | 
| 
      
 384 
     | 
    
         
            +
                  FXTRACE((2,"FXRbGetRubyObj(foxObj=%p) => rubyObj=%p (%s)\n", foxObj, (void *)desc->obj, classname));
         
     | 
| 
       352 
385 
     | 
    
         
             
                  return desc->obj;
         
     | 
| 
       353 
386 
     | 
    
         
             
                  }
         
     | 
| 
       354 
387 
     | 
    
         
             
                }
         
     | 
| 
         @@ -362,23 +395,21 @@ VALUE FXRbGetRubyObj(const void *foxObj,bool alsoBorrowed){ 
     | 
|
| 
       362 
395 
     | 
    
         
             
            VALUE FXRbGetRubyObj(const void *foxObj,swig_type_info* ty){
         
     | 
| 
       363 
396 
     | 
    
         
             
              if(foxObj!=0){
         
     | 
| 
       364 
397 
     | 
    
         
             
                VALUE rbObj=FXRbGetRubyObj(foxObj,true);
         
     | 
| 
       365 
     | 
    
         
            -
                 
     | 
| 
      
 398 
     | 
    
         
            +
                if( NIL_P(rbObj) ){
         
     | 
| 
      
 399 
     | 
    
         
            +
                  return FXRbNewPointerObj(const_cast<void*>(foxObj),ty);
         
     | 
| 
      
 400 
     | 
    
         
            +
                }else{
         
     | 
| 
      
 401 
     | 
    
         
            +
                  // The requested type should match the registered class.
         
     | 
| 
      
 402 
     | 
    
         
            +
                  FXASSERT(SWIG_CheckConvert(rbObj, ty));
         
     | 
| 
      
 403 
     | 
    
         
            +
                  return rbObj;
         
     | 
| 
       366 
404 
     | 
    
         
             
                }
         
     | 
| 
       367 
     | 
    
         
            -
              else{
         
     | 
| 
      
 405 
     | 
    
         
            +
              }else{
         
     | 
| 
       368 
406 
     | 
    
         
             
                return Qnil;
         
     | 
| 
       369 
     | 
    
         
            -
                }
         
     | 
| 
       370 
407 
     | 
    
         
             
              }
         
     | 
| 
      
 408 
     | 
    
         
            +
            }
         
     | 
| 
       371 
409 
     | 
    
         | 
| 
       372 
410 
     | 
    
         
             
            VALUE FXRbGetRubyObj(const void *foxObj,const char *type){
         
     | 
| 
       373 
     | 
    
         
            -
               
     | 
| 
       374 
     | 
    
         
            -
             
     | 
| 
       375 
     | 
    
         
            -
                VALUE rbObj=FXRbGetRubyObj(foxObj,true);
         
     | 
| 
       376 
     | 
    
         
            -
                return NIL_P(rbObj) ? FXRbNewPointerObj(const_cast<void*>(foxObj),FXRbTypeQuery(type)) : rbObj;
         
     | 
| 
       377 
     | 
    
         
            -
                }
         
     | 
| 
       378 
     | 
    
         
            -
              else{
         
     | 
| 
       379 
     | 
    
         
            -
                return Qnil;
         
     | 
| 
       380 
     | 
    
         
            -
                }
         
     | 
| 
       381 
     | 
    
         
            -
              }
         
     | 
| 
      
 411 
     | 
    
         
            +
              return FXRbGetRubyObj(foxObj, FXRbTypeQuery(type));
         
     | 
| 
      
 412 
     | 
    
         
            +
            }
         
     | 
| 
       382 
413 
     | 
    
         | 
| 
       383 
414 
     | 
    
         
             
            /**
         
     | 
| 
       384 
415 
     | 
    
         
             
             * Look up the Ruby instance associated with this C++ object, if any, and mark
         
     | 
| 
         @@ -402,7 +433,7 @@ void FXRbGcMark(void *obj){ 
     | 
|
| 
       402 
433 
     | 
    
         
             
                 * example program works if you invoke the GC in ShutterWindow#create;
         
     | 
| 
       403 
434 
     | 
    
         
             
                 * make sure that the shutter items' contents don't get blown away!
         
     | 
| 
       404 
435 
     | 
    
         
             
                 */
         
     | 
| 
       405 
     | 
    
         
            -
                VALUE value=FXRbGetRubyObj(obj,true);
         
     | 
| 
      
 436 
     | 
    
         
            +
                VALUE value=FXRbGetRubyObj(obj,true, true);
         
     | 
| 
       406 
437 
     | 
    
         
             
                if(!NIL_P(value)){
         
     | 
| 
       407 
438 
     | 
    
         
             
                  rb_gc_mark(value);
         
     | 
| 
       408 
439 
     | 
    
         
             
                  }
         
     | 
| 
         @@ -1427,6 +1458,7 @@ void FXRbRange2LoHi(VALUE range,FXdouble& lo,FXdouble& hi){ 
     | 
|
| 
       1427 
1458 
     | 
    
         
             
            void FXRbCallVoidMethod_gvlcb(FXObject* recv, const char *func) {
         
     | 
| 
       1428 
1459 
     | 
    
         
             
              VALUE obj=FXRbGetRubyObj(recv,false);
         
     | 
| 
       1429 
1460 
     | 
    
         
             
              FXASSERT(!NIL_P(obj));
         
     | 
| 
      
 1461 
     | 
    
         
            +
              FXASSERT(!FXRbIsInGC(recv));
         
     | 
| 
       1430 
1462 
     | 
    
         
             
              rb_funcall(obj,rb_intern(func),0,NULL);
         
     | 
| 
       1431 
1463 
     | 
    
         
             
              }
         
     | 
| 
       1432 
1464 
     | 
    
         | 
| 
         @@ -1633,7 +1665,7 @@ void FXRbCallDCDrawMethod_gvlcb(FXDC* recv, const char * func, FXint x,FXint y,c 
     | 
|
| 
       1633 
1665 
     | 
    
         
             
            FXRbMenuCommand::~FXRbMenuCommand(){
         
     | 
| 
       1634 
1666 
     | 
    
         
             
              FXAccelTable *table;
         
     | 
| 
       1635 
1667 
     | 
    
         
             
              FXWindow *owner;
         
     | 
| 
       1636 
     | 
    
         
            -
              if(acckey && ! 
     | 
| 
      
 1668 
     | 
    
         
            +
              if(acckey && !FXRbIsInGC(this)){
         
     | 
| 
       1637 
1669 
     | 
    
         
             
                owner=getShell()->getOwner();
         
     | 
| 
       1638 
1670 
     | 
    
         
             
                if(owner){
         
     | 
| 
       1639 
1671 
     | 
    
         
             
                  table=owner->getAccelTable();
         
     | 
| 
         @@ -1649,7 +1681,7 @@ FXRbMenuCommand::~FXRbMenuCommand(){ 
     | 
|
| 
       1649 
1681 
     | 
    
         
             
            FXRbMenuCheck::~FXRbMenuCheck(){
         
     | 
| 
       1650 
1682 
     | 
    
         
             
              FXAccelTable *table;
         
     | 
| 
       1651 
1683 
     | 
    
         
             
              FXWindow *owner;
         
     | 
| 
       1652 
     | 
    
         
            -
              if(acckey && ! 
     | 
| 
      
 1684 
     | 
    
         
            +
              if(acckey && !FXRbIsInGC(this)){
         
     | 
| 
       1653 
1685 
     | 
    
         
             
                owner=getShell()->getOwner();
         
     | 
| 
       1654 
1686 
     | 
    
         
             
                if(owner){
         
     | 
| 
       1655 
1687 
     | 
    
         
             
                  table=owner->getAccelTable();
         
     | 
| 
         @@ -1665,7 +1697,7 @@ FXRbMenuCheck::~FXRbMenuCheck(){ 
     | 
|
| 
       1665 
1697 
     | 
    
         
             
            FXRbMenuRadio::~FXRbMenuRadio(){
         
     | 
| 
       1666 
1698 
     | 
    
         
             
              FXAccelTable *table;
         
     | 
| 
       1667 
1699 
     | 
    
         
             
              FXWindow *owner;
         
     | 
| 
       1668 
     | 
    
         
            -
              if(acckey && ! 
     | 
| 
      
 1700 
     | 
    
         
            +
              if(acckey && !FXRbIsInGC(this)){
         
     | 
| 
       1669 
1701 
     | 
    
         
             
                owner=getShell()->getOwner();
         
     | 
| 
       1670 
1702 
     | 
    
         
             
                if(owner){
         
     | 
| 
       1671 
1703 
     | 
    
         
             
                  table=owner->getAccelTable();
         
     | 
    
        data/ext/fox16_c/extconf.rb
    CHANGED
    
    
| 
         @@ -149,7 +149,7 @@ inline void klass ## _dropDisable(klass* self){ \ 
     | 
|
| 
       149 
149 
     | 
    
         
             
                FXRbCallVoidMethod(this,"killFocus"); \
         
     | 
| 
       150 
150 
     | 
    
         
             
                } \
         
     | 
| 
       151 
151 
     | 
    
         
             
              void cls::changeFocus(FXWindow* child){ \
         
     | 
| 
       152 
     | 
    
         
            -
                if(! 
     | 
| 
      
 152 
     | 
    
         
            +
                if(!FXRbIsInGC(this)) FXRbCallVoidMethod(this,"changeFocus",child); \
         
     | 
| 
       153 
153 
     | 
    
         
             
                } \
         
     | 
| 
       154 
154 
     | 
    
         
             
              void cls::setDefault(FXbool enable){ \
         
     | 
| 
       155 
155 
     | 
    
         
             
                FXRbCallVoidMethod(this,"setDefault",enable); \
         
     | 
| 
         @@ -173,7 +173,7 @@ inline void klass ## _dropDisable(klass* self){ \ 
     | 
|
| 
       173 
173 
     | 
    
         
             
                FXRbCallVoidMethod(this,"position",x,y,w,h); \
         
     | 
| 
       174 
174 
     | 
    
         
             
                } \
         
     | 
| 
       175 
175 
     | 
    
         
             
              void cls::recalc(){ \
         
     | 
| 
       176 
     | 
    
         
            -
                if(! 
     | 
| 
      
 176 
     | 
    
         
            +
                if(!FXRbIsInGC(this)) FXRbCallVoidMethod(this,"recalc"); \
         
     | 
| 
       177 
177 
     | 
    
         
             
                } \
         
     | 
| 
       178 
178 
     | 
    
         
             
              void cls::reparent(FXWindow* father,FXWindow* other){ \
         
     | 
| 
       179 
179 
     | 
    
         
             
                FXRbCallVoidMethod(this,"reparent",father,other); \
         
     | 
| 
         @@ -81,6 +81,8 @@ VALUE showHelper(VALUE self, int argc, VALUE *argv, TYPE *p, swig_type_info *typ 
     | 
|
| 
       81 
81 
     | 
    
         
             
            // Wrapper around SWIG_Ruby_NewPointerObj()
         
     | 
| 
       82 
82 
     | 
    
         
             
            VALUE FXRbNewPointerObj(void *ptr, swig_type_info *typeinfo);
         
     | 
| 
       83 
83 
     | 
    
         
             
            bool FXRbIsBorrowed(void* ptr);
         
     | 
| 
      
 84 
     | 
    
         
            +
            bool FXRbSetInGC(const void* ptr, bool enabled);
         
     | 
| 
      
 85 
     | 
    
         
            +
            bool FXRbIsInGC(const void* ptr);
         
     | 
| 
       84 
86 
     | 
    
         | 
| 
       85 
87 
     | 
    
         
             
            // Wrapper around SWIG_TypeQuery()
         
     | 
| 
       86 
88 
     | 
    
         
             
            swig_type_info *FXRbTypeQuery(const char *name);
         
     | 
| 
         @@ -124,7 +126,7 @@ void FXRbDestroyAppSensitiveObjects(); 
     | 
|
| 
       124 
126 
     | 
    
         
             
             * FOX object (if any). If searchBoth is false, only considers the
         
     | 
| 
       125 
127 
     | 
    
         
             
             * Ruby-owned objects; otherwise considers all outstanding references.
         
     | 
| 
       126 
128 
     | 
    
         
             
             */
         
     | 
| 
       127 
     | 
    
         
            -
            VALUE FXRbGetRubyObj(const void *foxObj, bool searchBoth);
         
     | 
| 
      
 129 
     | 
    
         
            +
            VALUE FXRbGetRubyObj(const void *foxObj, bool searchBoth, bool in_gc=false);
         
     | 
| 
       128 
130 
     | 
    
         | 
| 
       129 
131 
     | 
    
         
             
            /**
         
     | 
| 
       130 
132 
     | 
    
         
             
             * Return the registered Ruby class instance associated with this
         
     | 
| 
         @@ -367,6 +369,7 @@ template<class TYPE> 
     | 
|
| 
       367 
369 
     | 
    
         
             
            void FXRbCallVoidMethod_gvlcb(FXObject* recv,const char *func, TYPE& arg){
         
     | 
| 
       368 
370 
     | 
    
         
             
              VALUE obj=FXRbGetRubyObj(recv,false);
         
     | 
| 
       369 
371 
     | 
    
         
             
              FXASSERT(!NIL_P(obj));
         
     | 
| 
      
 372 
     | 
    
         
            +
              FXASSERT(!FXRbIsInGC(recv));
         
     | 
| 
       370 
373 
     | 
    
         
             
              rb_funcall(obj,rb_intern(func),1,to_ruby(arg));
         
     | 
| 
       371 
374 
     | 
    
         
             
              FXRbUnregisterBorrowedRubyObj(&arg);
         
     | 
| 
       372 
375 
     | 
    
         
             
              }
         
     | 
| 
         @@ -383,6 +386,7 @@ template<class TYPE> 
     | 
|
| 
       383 
386 
     | 
    
         
             
            void FXRbCallVoidMethod_gvlcb(const FXObject* recv, const char *func, TYPE& arg){
         
     | 
| 
       384 
387 
     | 
    
         
             
              VALUE obj=FXRbGetRubyObj(recv,false);
         
     | 
| 
       385 
388 
     | 
    
         
             
              FXASSERT(!NIL_P(obj));
         
     | 
| 
      
 389 
     | 
    
         
            +
              FXASSERT(!FXRbIsInGC(recv));
         
     | 
| 
       386 
390 
     | 
    
         
             
              rb_funcall(obj,rb_intern(func),1,to_ruby(arg));
         
     | 
| 
       387 
391 
     | 
    
         
             
              FXRbUnregisterBorrowedRubyObj(&arg);
         
     | 
| 
       388 
392 
     | 
    
         
             
              }
         
     | 
    
        data/ext/fox16_c/markfuncs.cpp
    CHANGED
    
    | 
         @@ -53,6 +53,19 @@ void FXRbObject::markfunc(FXObject* obj){ 
     | 
|
| 
       53 
53 
     | 
    
         
             
              FXTRACE((100,"%s::markfunc(%p)\n",obj?obj->getClassName():"FXRbObject",obj));
         
     | 
| 
       54 
54 
     | 
    
         
             
              }
         
     | 
| 
       55 
55 
     | 
    
         | 
| 
      
 56 
     | 
    
         
            +
            static void FXRbSetInGCParentsRecursive(FXWindow *window, bool enabled){
         
     | 
| 
      
 57 
     | 
    
         
            +
              FXRbSetInGC( window, true );
         
     | 
| 
      
 58 
     | 
    
         
            +
              if(window->getParent()) FXRbSetInGCParentsRecursive( window->getParent(), enabled );
         
     | 
| 
      
 59 
     | 
    
         
            +
              }
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            static void FXRbSetInGCChildrenRecursive(FXWindow *window, bool enabled){
         
     | 
| 
      
 62 
     | 
    
         
            +
              FXRbSetInGC( window, true );
         
     | 
| 
      
 63 
     | 
    
         
            +
              for(FXWindow* child=window->getFirst(); child; child=child->getNext()){
         
     | 
| 
      
 64 
     | 
    
         
            +
                FXRbSetInGCChildrenRecursive( child, enabled );
         
     | 
| 
      
 65 
     | 
    
         
            +
                }
         
     | 
| 
      
 66 
     | 
    
         
            +
              }
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
       56 
69 
     | 
    
         
             
            void FXRbObject::freefunc(FXObject* self){
         
     | 
| 
       57 
70 
     | 
    
         
             
              if(self!=0){
         
     | 
| 
       58 
71 
     | 
    
         
             
                // Unregister, but don't destroy, borrowed references
         
     | 
| 
         @@ -65,6 +78,17 @@ void FXRbObject::freefunc(FXObject* self){ 
     | 
|
| 
       65 
78 
     | 
    
         
             
                FXASSERT(classname!=0);
         
     | 
| 
       66 
79 
     | 
    
         
             
                FXASSERT(strlen(classname)>3);
         
     | 
| 
       67 
80 
     | 
    
         
             
                if(classname[0]=='F' && classname[1]=='X' && classname[2]=='R' && classname[3]=='b'){
         
     | 
| 
      
 81 
     | 
    
         
            +
                  // FXWindow destructor calls recalc() and changeFocus() of it's parent window.
         
     | 
| 
      
 82 
     | 
    
         
            +
                  // Since these methods are routed back to Ruby code, but calling Ruby code from
         
     | 
| 
      
 83 
     | 
    
         
            +
                  // GC isn't a good idea, we mark the parent window as "in_gc", so that it will
         
     | 
| 
      
 84 
     | 
    
         
            +
                  // ignore recalc() and changeFocus() calls completely.
         
     | 
| 
      
 85 
     | 
    
         
            +
                  // The parent window should also be scheduled to be free'd. In the other case,
         
     | 
| 
      
 86 
     | 
    
         
            +
                  // the child window would have been marked as used.
         
     | 
| 
      
 87 
     | 
    
         
            +
                  if(self->isMemberOf(FXMETACLASS(FXWindow))){
         
     | 
| 
      
 88 
     | 
    
         
            +
                    FXWindow *window = dynamic_cast<FXWindow*>(self);
         
     | 
| 
      
 89 
     | 
    
         
            +
                    FXRbSetInGCParentsRecursive( window, true );
         
     | 
| 
      
 90 
     | 
    
         
            +
                    FXRbSetInGCChildrenRecursive( window, true );
         
     | 
| 
      
 91 
     | 
    
         
            +
                    }
         
     | 
| 
       68 
92 
     | 
    
         
             
                  delete self;
         
     | 
| 
       69 
93 
     | 
    
         
             
                  }
         
     | 
| 
       70 
94 
     | 
    
         
             
                else{
         
     | 
    
        data/lib/1.8/fox16_c.so
    CHANGED
    
    | 
         Binary file 
     | 
    
        data/lib/1.9/fox16_c.so
    CHANGED
    
    | 
         Binary file 
     | 
    
        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/fox16/core.rb
    CHANGED
    
    | 
         @@ -625,14 +625,6 @@ module Fox 
     | 
|
| 
       625 
625 
     | 
    
         
             
                end
         
     | 
| 
       626 
626 
     | 
    
         
             
              end
         
     | 
| 
       627 
627 
     | 
    
         | 
| 
       628 
     | 
    
         
            -
              class FXHVec
         
     | 
| 
       629 
     | 
    
         
            -
                def normalize!
         
     | 
| 
       630 
     | 
    
         
            -
                  normalized = self.normalize
         
     | 
| 
       631 
     | 
    
         
            -
                  0.upto(3) { |idx| self[idx] = normalized[idx] }
         
     | 
| 
       632 
     | 
    
         
            -
                  self
         
     | 
| 
       633 
     | 
    
         
            -
                end
         
     | 
| 
       634 
     | 
    
         
            -
              end
         
     | 
| 
       635 
     | 
    
         
            -
             
     | 
| 
       636 
628 
     | 
    
         
             
              class FXTable
         
     | 
| 
       637 
629 
     | 
    
         
             
                #
         
     | 
| 
       638 
630 
     | 
    
         
             
                # Append _numColumns_ columns to the right of the table..
         
     | 
    
        data/lib/fox16/thread.rb
    CHANGED
    
    | 
         @@ -13,7 +13,7 @@ module Fox 
     | 
|
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
                def runOnUiThread(&block)
         
     | 
| 
       15 
15 
     | 
    
         
             
                  @event_handler_events << block
         
     | 
| 
       16 
     | 
    
         
            -
                  @event_handler_pwr.write 'e' 
     | 
| 
      
 16 
     | 
    
         
            +
                  @event_handler_pwr.write 'e'
         
     | 
| 
       17 
17 
     | 
    
         
             
                end
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
                private
         
     | 
| 
         @@ -34,7 +34,7 @@ module Fox 
     | 
|
| 
       34 
34 
     | 
    
         
             
                end
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         
             
                def event_handler_pull(prd)
         
     | 
| 
       37 
     | 
    
         
            -
                  prd.read(1) 
     | 
| 
      
 37 
     | 
    
         
            +
                  prd.read(1)
         
     | 
| 
       38 
38 
     | 
    
         
             
                  while !@event_handler_events.empty?
         
     | 
| 
       39 
39 
     | 
    
         
             
                    ev = @event_handler_events.shift
         
     | 
| 
       40 
40 
     | 
    
         
             
                    ev.call
         
     | 
    
        data/lib/fox16/version.rb
    CHANGED
    
    
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
    
        data/swig-interfaces/FXVec2d.i
    CHANGED
    
    
    
        data/swig-interfaces/FXVec2f.i
    CHANGED
    
    
    
        data/swig-interfaces/FXVec3d.i
    CHANGED
    
    
    
        data/swig-interfaces/FXVec3f.i
    CHANGED
    
    
    
        data/swig-interfaces/FXVec4d.i
    CHANGED
    
    
    
        data/swig-interfaces/FXVec4f.i
    CHANGED
    
    
| 
         @@ -493,13 +493,27 @@ inline void* to_FXEvent(VALUE obj){ 
     | 
|
| 
       493 
493 
     | 
    
         
             
            %typemap(out) FXVec2f* "$result = FXRbGetRubyObj($1, \"$1_ltype\");";
         
     | 
| 
       494 
494 
     | 
    
         
             
            %typemap(out) FXVec2f& "$result = FXRbGetRubyObj($1, \"$1_ltype\");";
         
     | 
| 
       495 
495 
     | 
    
         | 
| 
      
 496 
     | 
    
         
            +
            /* Output typemap for FXVec3f instances */
         
     | 
| 
      
 497 
     | 
    
         
            +
            %typemap(out) FXVec3f {
         
     | 
| 
      
 498 
     | 
    
         
            +
                FXVec3f* resultptr = new FXVec3f($1);
         
     | 
| 
      
 499 
     | 
    
         
            +
                $result = FXRbGetRubyObj(resultptr, "FXVec3f *");
         
     | 
| 
      
 500 
     | 
    
         
            +
            }
         
     | 
| 
      
 501 
     | 
    
         
            +
            %typemap(out) FXVec3f*       "$result = FXRbGetRubyObj($1, \"$1_ltype\");";
         
     | 
| 
      
 502 
     | 
    
         
            +
            %typemap(out) const FXVec3f& {
         
     | 
| 
      
 503 
     | 
    
         
            +
                FXVec3f* resultptr = new FXVec3f(*$1);
         
     | 
| 
      
 504 
     | 
    
         
            +
                $result = FXRbGetRubyObj(resultptr, "FXVec3f *");
         
     | 
| 
      
 505 
     | 
    
         
            +
            }
         
     | 
| 
      
 506 
     | 
    
         
            +
             
     | 
| 
       496 
507 
     | 
    
         
             
            /* Output typemap for FXVec4f instances */
         
     | 
| 
       497 
508 
     | 
    
         
             
            %typemap(out) FXVec4f {
         
     | 
| 
       498 
509 
     | 
    
         
             
                FXVec4f* resultptr = new FXVec4f($1);
         
     | 
| 
       499 
510 
     | 
    
         
             
                $result = FXRbGetRubyObj(resultptr, "FXVec4f *");
         
     | 
| 
       500 
511 
     | 
    
         
             
            }
         
     | 
| 
       501 
512 
     | 
    
         
             
            %typemap(out) FXVec4f* "$result = FXRbGetRubyObj($1, \"$1_ltype\");";
         
     | 
| 
       502 
     | 
    
         
            -
            %typemap(out) FXVec4f&  
     | 
| 
      
 513 
     | 
    
         
            +
            %typemap(out) const FXVec4f& {
         
     | 
| 
      
 514 
     | 
    
         
            +
                FXVec4f* resultptr = new FXVec4f(*$1);
         
     | 
| 
      
 515 
     | 
    
         
            +
                $result = FXRbGetRubyObj(resultptr, "FXVec4f *");
         
     | 
| 
      
 516 
     | 
    
         
            +
            }
         
     | 
| 
       503 
517 
     | 
    
         | 
| 
       504 
518 
     | 
    
         
             
            /* Output typemap for FXIcon instances */
         
     | 
| 
       505 
519 
     | 
    
         
             
            %typemap(out) FXIcon * = FXObject *;
         
     | 
| 
         @@ -610,14 +624,6 @@ inline void* to_FXEvent(VALUE obj){ 
     | 
|
| 
       610 
624 
     | 
    
         
             
            /* Output typemap for FXTreeItem instances */
         
     | 
| 
       611 
625 
     | 
    
         
             
            %typemap(out) FXTreeItem * = FXObject *;
         
     | 
| 
       612 
626 
     | 
    
         | 
| 
       613 
     | 
    
         
            -
            /* Output typemap for FXVec3f instances */
         
     | 
| 
       614 
     | 
    
         
            -
            %typemap(out) FXVec3f {
         
     | 
| 
       615 
     | 
    
         
            -
                FXVec3f* resultptr = new FXVec3f($1);
         
     | 
| 
       616 
     | 
    
         
            -
                $result = FXRbGetRubyObj(resultptr, "FXVec3f *");
         
     | 
| 
       617 
     | 
    
         
            -
            }
         
     | 
| 
       618 
     | 
    
         
            -
            %typemap(out) FXVec3f*       "$result = FXRbGetRubyObj($1, \"$1_ltype\");";
         
     | 
| 
       619 
     | 
    
         
            -
            %typemap(out) const FXVec3f& "$result = FXRbGetRubyObj($1, \"$1_ltype\");";
         
     | 
| 
       620 
     | 
    
         
            -
             
     | 
| 
       621 
627 
     | 
    
         
             
            /* Output typemap for FXVerticalFrame instances */
         
     | 
| 
       622 
628 
     | 
    
         
             
            %typemap(out) FXVerticalFrame * = FXObject *;
         
     | 
| 
       623 
629 
     | 
    
         | 
    
        data/test/TC_FXApp.rb
    CHANGED
    
    | 
         @@ -8,7 +8,7 @@ class TC_FXApp < Test::Unit::TestCase 
     | 
|
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
              def test_exception_for_second_app
         
     | 
| 
       10 
10 
     | 
    
         
             
                assert_raise RuntimeError do
         
     | 
| 
       11 
     | 
    
         
            -
                   
     | 
| 
      
 11 
     | 
    
         
            +
                  FXApp.new
         
     | 
| 
       12 
12 
     | 
    
         
             
                end
         
     | 
| 
       13 
13 
     | 
    
         
             
              end
         
     | 
| 
       14 
14 
     | 
    
         
             
            end
         
     | 
| 
         @@ -46,7 +46,7 @@ class TC_FXApp2 < Fox::TestCase 
     | 
|
| 
       46 
46 
     | 
    
         
             
              end
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
       48 
48 
     | 
    
         
             
              def test_addInput_on_pipe
         
     | 
| 
       49 
     | 
    
         
            -
                check_events 
     | 
| 
      
 49 
     | 
    
         
            +
                check_events(*IO.pipe)
         
     | 
| 
       50 
50 
     | 
    
         
             
              end
         
     | 
| 
       51 
51 
     | 
    
         | 
| 
       52 
52 
     | 
    
         
             
              def test_addInput_on_socket_accept
         
     | 
    
        data/test/TC_FXCheckButton.rb
    CHANGED
    
    | 
         @@ -12,7 +12,6 @@ class TC_FXCheckButton < Fox::TestCase 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
              def test_setCheck_TRUE
         
     | 
| 
       14 
14 
     | 
    
         
             
                @checkButton.check = Fox::TRUE
         
     | 
| 
       15 
     | 
    
         
            -
                assert_equal(true, @checkButton.check)
         
     | 
| 
       16 
15 
     | 
    
         
             
                assert_equal(Fox::TRUE, @checkButton.checkState)
         
     | 
| 
       17 
16 
     | 
    
         
             
                assert(@checkButton.checked?)
         
     | 
| 
       18 
17 
     | 
    
         
             
                assert(!@checkButton.unchecked?)
         
     | 
| 
         @@ -21,7 +20,6 @@ class TC_FXCheckButton < Fox::TestCase 
     | 
|
| 
       21 
20 
     | 
    
         | 
| 
       22 
21 
     | 
    
         
             
              def test_setCheck_FALSE
         
     | 
| 
       23 
22 
     | 
    
         
             
                @checkButton.check = Fox::FALSE
         
     | 
| 
       24 
     | 
    
         
            -
                assert_equal(false, @checkButton.check)
         
     | 
| 
       25 
23 
     | 
    
         
             
                assert_equal(Fox::FALSE, @checkButton.checkState)
         
     | 
| 
       26 
24 
     | 
    
         
             
                assert(!@checkButton.checked?)
         
     | 
| 
       27 
25 
     | 
    
         
             
                assert(@checkButton.unchecked?)
         
     | 
| 
         @@ -30,7 +28,6 @@ class TC_FXCheckButton < Fox::TestCase 
     | 
|
| 
       30 
28 
     | 
    
         | 
| 
       31 
29 
     | 
    
         
             
              def test_setCheck_MAYBE
         
     | 
| 
       32 
30 
     | 
    
         
             
                @checkButton.check = Fox::MAYBE
         
     | 
| 
       33 
     | 
    
         
            -
                assert_equal(true, @checkButton.check) # this is not a typo!
         
     | 
| 
       34 
31 
     | 
    
         
             
                assert_equal(Fox::MAYBE, @checkButton.checkState)
         
     | 
| 
       35 
32 
     | 
    
         
             
                assert(!@checkButton.checked?)
         
     | 
| 
       36 
33 
     | 
    
         
             
                assert(!@checkButton.unchecked?)
         
     | 
| 
         @@ -39,7 +36,6 @@ class TC_FXCheckButton < Fox::TestCase 
     | 
|
| 
       39 
36 
     | 
    
         | 
| 
       40 
37 
     | 
    
         
             
              def test_setCheck_true
         
     | 
| 
       41 
38 
     | 
    
         
             
                @checkButton.check = true
         
     | 
| 
       42 
     | 
    
         
            -
                assert_equal(true, @checkButton.check)
         
     | 
| 
       43 
39 
     | 
    
         
             
                assert_equal(Fox::TRUE, @checkButton.checkState)
         
     | 
| 
       44 
40 
     | 
    
         
             
                assert(@checkButton.checked?)
         
     | 
| 
       45 
41 
     | 
    
         
             
                assert(!@checkButton.unchecked?)
         
     | 
| 
         @@ -48,7 +44,6 @@ class TC_FXCheckButton < Fox::TestCase 
     | 
|
| 
       48 
44 
     | 
    
         | 
| 
       49 
45 
     | 
    
         
             
              def test_setCheck_false
         
     | 
| 
       50 
46 
     | 
    
         
             
                @checkButton.check = false
         
     | 
| 
       51 
     | 
    
         
            -
                assert_equal(false, @checkButton.check)
         
     | 
| 
       52 
47 
     | 
    
         
             
                assert_equal(Fox::FALSE, @checkButton.checkState)
         
     | 
| 
       53 
48 
     | 
    
         
             
                assert(!@checkButton.checked?)
         
     | 
| 
       54 
49 
     | 
    
         
             
                assert(@checkButton.unchecked?)
         
     | 
    
        data/test/TC_FXDCPrint.rb
    CHANGED
    
    
    
        data/test/TC_FXFileStream.rb
    CHANGED
    
    
    
        data/test/TC_FXFont.rb
    CHANGED
    
    | 
         @@ -15,7 +15,7 @@ class TC_FXFont < Test::Unit::TestCase 
     | 
|
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
              def testConstructFromFontDescription
         
     | 
| 
       17 
17 
     | 
    
         
             
                fontdesc = @app.normalFont.fontDesc
         
     | 
| 
       18 
     | 
    
         
            -
                 
     | 
| 
      
 18 
     | 
    
         
            +
                FXFont.new(@app, fontdesc)
         
     | 
| 
       19 
19 
     | 
    
         
             
              end
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
              def testConstructFromParameters
         
     | 
| 
         @@ -42,7 +42,7 @@ class TC_FXFont < Test::Unit::TestCase 
     | 
|
| 
       42 
42 
     | 
    
         
             
              end
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         
             
              def testConstructFromFontString
         
     | 
| 
       45 
     | 
    
         
            -
                 
     | 
| 
      
 45 
     | 
    
         
            +
                FXFont.new(@app, "")
         
     | 
| 
       46 
46 
     | 
    
         
             
              end
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
       48 
48 
     | 
    
         
             
              def testGetTextWidthAndHeight
         
     | 
    
        data/test/TC_FXId.rb
    CHANGED
    
    | 
         @@ -11,7 +11,7 @@ class TC_FXId < Fox::TestCase 
     | 
|
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
              def test_created?
         
     | 
| 
       13 
13 
     | 
    
         
             
                assert !mainWindow.created?
         
     | 
| 
       14 
     | 
    
         
            -
                 
     | 
| 
      
 14 
     | 
    
         
            +
                mainWindow.create
         
     | 
| 
       15 
15 
     | 
    
         
             
                assert mainWindow.created?, "main window should be created after call to FXApp#create"
         
     | 
| 
       16 
16 
     | 
    
         
             
                mainWindow.destroy
         
     | 
| 
       17 
17 
     | 
    
         
             
                assert !mainWindow.created?
         
     | 
    
        data/test/TC_FXImage.rb
    CHANGED
    
    | 
         @@ -119,7 +119,7 @@ class TC_FXImage < Fox::TestCase 
     | 
|
| 
       119 
119 
     | 
    
         
             
              def test_create_with_non_owned_data
         
     | 
| 
       120 
120 
     | 
    
         
             
                GC.stress = true
         
     | 
| 
       121 
121 
     | 
    
         
             
                img = image_with_non_owned_data
         
     | 
| 
       122 
     | 
    
         
            -
                " " * 10000
         
     | 
| 
      
 122 
     | 
    
         
            +
                _ = " " * 10000
         
     | 
| 
       123 
123 
     | 
    
         
             
                GC.stress = false
         
     | 
| 
       124 
124 
     | 
    
         
             
                assert_equal("rgbaRGBA", img.pixel_string)
         
     | 
| 
       125 
125 
     | 
    
         
             
                assert_equal(0, img.options)
         
     | 
| 
         @@ -134,7 +134,7 @@ class TC_FXImage < Fox::TestCase 
     | 
|
| 
       134 
134 
     | 
    
         
             
                img = FXImage.new(app, nil, 0, 1, 2)
         
     | 
| 
       135 
135 
     | 
    
         
             
                GC.stress = true
         
     | 
| 
       136 
136 
     | 
    
         
             
                set_non_owned_data(img)
         
     | 
| 
       137 
     | 
    
         
            -
                " " * 10000
         
     | 
| 
      
 137 
     | 
    
         
            +
                _ = " " * 10000
         
     | 
| 
       138 
138 
     | 
    
         
             
                GC.stress = false
         
     | 
| 
       139 
139 
     | 
    
         
             
                assert_equal("rgbaRGBA", img.pixel_string)
         
     | 
| 
       140 
140 
     | 
    
         
             
                assert_equal(0, img.options)
         
     | 
    
        data/test/TC_FXMainWindow.rb
    CHANGED
    
    
    
        data/test/TC_FXMat4f.rb
    CHANGED
    
    | 
         @@ -81,9 +81,9 @@ class TC_FXMat4f < Test::Unit::TestCase 
     | 
|
| 
       81 
81 
     | 
    
         
             
              def test_mul_by_scalar
         
     | 
| 
       82 
82 
     | 
    
         
             
                p = FXMat4f.new.eye
         
     | 
| 
       83 
83 
     | 
    
         
             
                q = FXMat4f.new(4.0, 0.0, 0.0, 0.0,
         
     | 
| 
       84 
     | 
    
         
            -
             
     | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
      
 84 
     | 
    
         
            +
                                0.0, 4.0, 0.0, 0.0,
         
     | 
| 
      
 85 
     | 
    
         
            +
                                0.0, 0.0, 4.0, 0.0,
         
     | 
| 
      
 86 
     | 
    
         
            +
                                0.0, 0.0, 0.0, 4.0)
         
     | 
| 
       87 
87 
     | 
    
         
             
                r = p*4.0
         
     | 
| 
       88 
88 
     | 
    
         
             
                assert_instance_of(FXMat4f, r)
         
     | 
| 
       89 
89 
     | 
    
         
             
            #   assert_equal(q, r)
         
     | 
    
        data/test/TC_FXMaterial.rb
    CHANGED
    
    | 
         @@ -48,7 +48,7 @@ class TC_FXMaterial < Test::Unit::TestCase 
     | 
|
| 
       48 
48 
     | 
    
         
             
                assert_in_delta(0.7, @mat.emission[2], DELTA)
         
     | 
| 
       49 
49 
     | 
    
         
             
                assert_in_delta(0.8, @mat.emission[3], DELTA)
         
     | 
| 
       50 
50 
     | 
    
         | 
| 
       51 
     | 
    
         
            -
                @mat.emission =  
     | 
| 
      
 51 
     | 
    
         
            +
                @mat.emission = FXVec4f.new(0.5, 0.6, 0.7, 0.8)
         
     | 
| 
       52 
52 
     | 
    
         
             
                assert_in_delta(0.5, @mat.emission[0], DELTA)
         
     | 
| 
       53 
53 
     | 
    
         
             
                assert_in_delta(0.6, @mat.emission[1], DELTA)
         
     | 
| 
       54 
54 
     | 
    
         
             
                assert_in_delta(0.7, @mat.emission[2], DELTA)
         
     | 
    
        data/test/TC_FXMenuCheck.rb
    CHANGED
    
    | 
         @@ -12,7 +12,6 @@ class TC_FXMenuCheck < Fox::TestCase 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
              def test_setCheck_TRUE
         
     | 
| 
       14 
14 
     | 
    
         
             
                @menuCheck.check = Fox::TRUE
         
     | 
| 
       15 
     | 
    
         
            -
                assert_equal(true, @menuCheck.check)
         
     | 
| 
       16 
15 
     | 
    
         
             
                assert_equal(Fox::TRUE, @menuCheck.checkState)
         
     | 
| 
       17 
16 
     | 
    
         
             
                assert(@menuCheck.checked?)
         
     | 
| 
       18 
17 
     | 
    
         
             
                assert(!@menuCheck.unchecked?)
         
     | 
| 
         @@ -21,7 +20,6 @@ class TC_FXMenuCheck < Fox::TestCase 
     | 
|
| 
       21 
20 
     | 
    
         | 
| 
       22 
21 
     | 
    
         
             
              def test_setCheck_FALSE
         
     | 
| 
       23 
22 
     | 
    
         
             
                @menuCheck.check = Fox::FALSE
         
     | 
| 
       24 
     | 
    
         
            -
                assert_equal(false, @menuCheck.check)
         
     | 
| 
       25 
23 
     | 
    
         
             
                assert_equal(Fox::FALSE, @menuCheck.checkState)
         
     | 
| 
       26 
24 
     | 
    
         
             
                assert(!@menuCheck.checked?)
         
     | 
| 
       27 
25 
     | 
    
         
             
                assert(@menuCheck.unchecked?)
         
     | 
| 
         @@ -30,7 +28,6 @@ class TC_FXMenuCheck < Fox::TestCase 
     | 
|
| 
       30 
28 
     | 
    
         | 
| 
       31 
29 
     | 
    
         
             
              def test_setCheck_MAYBE
         
     | 
| 
       32 
30 
     | 
    
         
             
                @menuCheck.check = Fox::MAYBE
         
     | 
| 
       33 
     | 
    
         
            -
                assert_equal(true, @menuCheck.check) # this is not a typo!
         
     | 
| 
       34 
31 
     | 
    
         
             
                assert_equal(Fox::MAYBE, @menuCheck.checkState)
         
     | 
| 
       35 
32 
     | 
    
         
             
                assert(!@menuCheck.checked?)
         
     | 
| 
       36 
33 
     | 
    
         
             
                assert(!@menuCheck.unchecked?)
         
     | 
| 
         @@ -39,7 +36,6 @@ class TC_FXMenuCheck < Fox::TestCase 
     | 
|
| 
       39 
36 
     | 
    
         | 
| 
       40 
37 
     | 
    
         
             
              def test_setCheck_true
         
     | 
| 
       41 
38 
     | 
    
         
             
                @menuCheck.check = true
         
     | 
| 
       42 
     | 
    
         
            -
                assert_equal(true, @menuCheck.check)
         
     | 
| 
       43 
39 
     | 
    
         
             
                assert_equal(Fox::TRUE, @menuCheck.checkState)
         
     | 
| 
       44 
40 
     | 
    
         
             
                assert(@menuCheck.checked?)
         
     | 
| 
       45 
41 
     | 
    
         
             
                assert(!@menuCheck.unchecked?)
         
     | 
| 
         @@ -48,7 +44,6 @@ class TC_FXMenuCheck < Fox::TestCase 
     | 
|
| 
       48 
44 
     | 
    
         | 
| 
       49 
45 
     | 
    
         
             
              def test_setCheck_false
         
     | 
| 
       50 
46 
     | 
    
         
             
                @menuCheck.check = false
         
     | 
| 
       51 
     | 
    
         
            -
                assert_equal(false, @menuCheck.check)
         
     | 
| 
       52 
47 
     | 
    
         
             
                assert_equal(Fox::FALSE, @menuCheck.checkState)
         
     | 
| 
       53 
48 
     | 
    
         
             
                assert(!@menuCheck.checked?)
         
     | 
| 
       54 
49 
     | 
    
         
             
                assert(@menuCheck.unchecked?)
         
     | 
    
        data/test/TC_FXMenuRadio.rb
    CHANGED
    
    | 
         @@ -12,7 +12,6 @@ class TC_FXMenuRadio < Fox::TestCase 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
              def test_setCheck_TRUE
         
     | 
| 
       14 
14 
     | 
    
         
             
                @menuRadio.check = Fox::TRUE
         
     | 
| 
       15 
     | 
    
         
            -
                assert_equal(true, @menuRadio.check)
         
     | 
| 
       16 
15 
     | 
    
         
             
                assert_equal(Fox::TRUE, @menuRadio.checkState)
         
     | 
| 
       17 
16 
     | 
    
         
             
                assert(@menuRadio.checked?)
         
     | 
| 
       18 
17 
     | 
    
         
             
                assert(!@menuRadio.unchecked?)
         
     | 
| 
         @@ -21,7 +20,6 @@ class TC_FXMenuRadio < Fox::TestCase 
     | 
|
| 
       21 
20 
     | 
    
         | 
| 
       22 
21 
     | 
    
         
             
              def test_setCheck_FALSE
         
     | 
| 
       23 
22 
     | 
    
         
             
                @menuRadio.check = Fox::FALSE
         
     | 
| 
       24 
     | 
    
         
            -
                assert_equal(false, @menuRadio.check)
         
     | 
| 
       25 
23 
     | 
    
         
             
                assert_equal(Fox::FALSE, @menuRadio.checkState)
         
     | 
| 
       26 
24 
     | 
    
         
             
                assert(!@menuRadio.checked?)
         
     | 
| 
       27 
25 
     | 
    
         
             
                assert(@menuRadio.unchecked?)
         
     | 
| 
         @@ -30,7 +28,6 @@ class TC_FXMenuRadio < Fox::TestCase 
     | 
|
| 
       30 
28 
     | 
    
         | 
| 
       31 
29 
     | 
    
         
             
              def test_setCheck_MAYBE
         
     | 
| 
       32 
30 
     | 
    
         
             
                @menuRadio.check = Fox::MAYBE
         
     | 
| 
       33 
     | 
    
         
            -
                assert_equal(true, @menuRadio.check) # this is not a typo!
         
     | 
| 
       34 
31 
     | 
    
         
             
                assert_equal(Fox::MAYBE, @menuRadio.checkState)
         
     | 
| 
       35 
32 
     | 
    
         
             
                assert(!@menuRadio.checked?)
         
     | 
| 
       36 
33 
     | 
    
         
             
                assert(!@menuRadio.unchecked?)
         
     | 
| 
         @@ -39,7 +36,6 @@ class TC_FXMenuRadio < Fox::TestCase 
     | 
|
| 
       39 
36 
     | 
    
         | 
| 
       40 
37 
     | 
    
         
             
              def test_setCheck_true
         
     | 
| 
       41 
38 
     | 
    
         
             
                @menuRadio.check = true
         
     | 
| 
       42 
     | 
    
         
            -
                assert_equal(true, @menuRadio.check)
         
     | 
| 
       43 
39 
     | 
    
         
             
                assert_equal(Fox::TRUE, @menuRadio.checkState)
         
     | 
| 
       44 
40 
     | 
    
         
             
                assert(@menuRadio.checked?)
         
     | 
| 
       45 
41 
     | 
    
         
             
                assert(!@menuRadio.unchecked?)
         
     | 
| 
         @@ -48,7 +44,6 @@ class TC_FXMenuRadio < Fox::TestCase 
     | 
|
| 
       48 
44 
     | 
    
         | 
| 
       49 
45 
     | 
    
         
             
              def test_setCheck_false
         
     | 
| 
       50 
46 
     | 
    
         
             
                @menuRadio.check = false
         
     | 
| 
       51 
     | 
    
         
            -
                assert_equal(false, @menuRadio.check)
         
     | 
| 
       52 
47 
     | 
    
         
             
                assert_equal(Fox::FALSE, @menuRadio.checkState)
         
     | 
| 
       53 
48 
     | 
    
         
             
                assert(!@menuRadio.checked?)
         
     | 
| 
       54 
49 
     | 
    
         
             
                assert(@menuRadio.unchecked?)
         
     | 
    
        data/test/TC_FXQuatf.rb
    CHANGED
    
    | 
         @@ -9,23 +9,23 @@ class TC_FXQuatf < Test::Unit::TestCase 
     | 
|
| 
       9 
9 
     | 
    
         
             
              end
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
              def test_default_constructor
         
     | 
| 
       12 
     | 
    
         
            -
                 
     | 
| 
      
 12 
     | 
    
         
            +
                FXQuatf.new
         
     | 
| 
       13 
13 
     | 
    
         
             
              end
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
              def test_construct_from_axis_and_angle
         
     | 
| 
       16 
16 
     | 
    
         
             
                axis = FXVec3f.new(1.0, 1.0, 1.0)
         
     | 
| 
       17 
     | 
    
         
            -
                 
     | 
| 
       18 
     | 
    
         
            -
                 
     | 
| 
      
 17 
     | 
    
         
            +
                FXQuatf.new(axis)
         
     | 
| 
      
 18 
     | 
    
         
            +
                FXQuatf.new(axis, 0.0)
         
     | 
| 
       19 
19 
     | 
    
         
             
              end
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
              def test_construct_from_components
         
     | 
| 
       22 
22 
     | 
    
         
             
                x, y, z, w = 1.0, 1.0, 1.0, 1.0
         
     | 
| 
       23 
     | 
    
         
            -
                 
     | 
| 
      
 23 
     | 
    
         
            +
                FXQuatf.new(x, y, z, w)
         
     | 
| 
       24 
24 
     | 
    
         
             
              end
         
     | 
| 
       25 
25 
     | 
    
         | 
| 
       26 
26 
     | 
    
         
             
              def test_construct_from_roll_pitch_yaw
         
     | 
| 
       27 
27 
     | 
    
         
             
                roll, pitch, yaw = 45.0, 45.0, 45.0
         
     | 
| 
       28 
     | 
    
         
            -
                 
     | 
| 
      
 28 
     | 
    
         
            +
                FXQuatf.new(roll, pitch, yaw)
         
     | 
| 
       29 
29 
     | 
    
         
             
              end
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
              def test_adjust!
         
     | 
    
        data/test/TC_FXRadioButton.rb
    CHANGED
    
    | 
         @@ -12,7 +12,6 @@ class TC_FXRadioButton < Fox::TestCase 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
              def test_setCheck_TRUE
         
     | 
| 
       14 
14 
     | 
    
         
             
                @radioButton.check = Fox::TRUE
         
     | 
| 
       15 
     | 
    
         
            -
                assert_equal(true, @radioButton.check)
         
     | 
| 
       16 
15 
     | 
    
         
             
                assert_equal(Fox::TRUE, @radioButton.checkState)
         
     | 
| 
       17 
16 
     | 
    
         
             
                assert(@radioButton.checked?)
         
     | 
| 
       18 
17 
     | 
    
         
             
                assert(!@radioButton.unchecked?)
         
     | 
| 
         @@ -21,7 +20,6 @@ class TC_FXRadioButton < Fox::TestCase 
     | 
|
| 
       21 
20 
     | 
    
         | 
| 
       22 
21 
     | 
    
         
             
              def test_setCheck_FALSE
         
     | 
| 
       23 
22 
     | 
    
         
             
                @radioButton.check = Fox::FALSE
         
     | 
| 
       24 
     | 
    
         
            -
                assert_equal(false, @radioButton.check)
         
     | 
| 
       25 
23 
     | 
    
         
             
                assert_equal(Fox::FALSE, @radioButton.checkState)
         
     | 
| 
       26 
24 
     | 
    
         
             
                assert(!@radioButton.checked?)
         
     | 
| 
       27 
25 
     | 
    
         
             
                assert(@radioButton.unchecked?)
         
     | 
| 
         @@ -30,7 +28,6 @@ class TC_FXRadioButton < Fox::TestCase 
     | 
|
| 
       30 
28 
     | 
    
         | 
| 
       31 
29 
     | 
    
         
             
              def test_setCheck_MAYBE
         
     | 
| 
       32 
30 
     | 
    
         
             
                @radioButton.check = Fox::MAYBE
         
     | 
| 
       33 
     | 
    
         
            -
                assert_equal(true, @radioButton.check) # this is not a typo!
         
     | 
| 
       34 
31 
     | 
    
         
             
                assert_equal(Fox::MAYBE, @radioButton.checkState)
         
     | 
| 
       35 
32 
     | 
    
         
             
                assert(!@radioButton.checked?)
         
     | 
| 
       36 
33 
     | 
    
         
             
                assert(!@radioButton.unchecked?)
         
     | 
| 
         @@ -39,7 +36,6 @@ class TC_FXRadioButton < Fox::TestCase 
     | 
|
| 
       39 
36 
     | 
    
         | 
| 
       40 
37 
     | 
    
         
             
              def test_setCheck_true
         
     | 
| 
       41 
38 
     | 
    
         
             
                @radioButton.check = true
         
     | 
| 
       42 
     | 
    
         
            -
                assert_equal(true, @radioButton.check)
         
     | 
| 
       43 
39 
     | 
    
         
             
                assert_equal(Fox::TRUE, @radioButton.checkState)
         
     | 
| 
       44 
40 
     | 
    
         
             
                assert(@radioButton.checked?)
         
     | 
| 
       45 
41 
     | 
    
         
             
                assert(!@radioButton.unchecked?)
         
     | 
| 
         @@ -48,7 +44,6 @@ class TC_FXRadioButton < Fox::TestCase 
     | 
|
| 
       48 
44 
     | 
    
         | 
| 
       49 
45 
     | 
    
         
             
              def test_setCheck_false
         
     | 
| 
       50 
46 
     | 
    
         
             
                @radioButton.check = false
         
     | 
| 
       51 
     | 
    
         
            -
                assert_equal(false, @radioButton.check)
         
     | 
| 
       52 
47 
     | 
    
         
             
                assert_equal(Fox::FALSE, @radioButton.checkState)
         
     | 
| 
       53 
48 
     | 
    
         
             
                assert(!@radioButton.checked?)
         
     | 
| 
       54 
49 
     | 
    
         
             
                assert(@radioButton.unchecked?)
         
     | 
    
        data/test/TC_FXRegion.rb
    CHANGED
    
    | 
         @@ -17,9 +17,9 @@ class TC_FXRegion < Test::Unit::TestCase 
     | 
|
| 
       17 
17 
     | 
    
         
             
                           FXPoint.new(100, 100),
         
     | 
| 
       18 
18 
     | 
    
         
             
                           FXPoint.new(0, 0)
         
     | 
| 
       19 
19 
     | 
    
         
             
                         ]
         
     | 
| 
       20 
     | 
    
         
            -
                 
     | 
| 
       21 
     | 
    
         
            -
                 
     | 
| 
       22 
     | 
    
         
            -
                 
     | 
| 
      
 20 
     | 
    
         
            +
                FXRegion.new(points, true)
         
     | 
| 
      
 21 
     | 
    
         
            +
                FXRegion.new(points, false)
         
     | 
| 
      
 22 
     | 
    
         
            +
                FXRegion.new(points)
         
     | 
| 
       23 
23 
     | 
    
         
             
              end
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
              def test_copy_constructor
         
     | 
    
        data/test/TC_FXShell.rb
    CHANGED
    
    
    
        data/test/TC_FXTable.rb
    CHANGED
    
    
    
        data/test/TC_FXVec4f.rb
    CHANGED
    
    
    
        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.33
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: x86-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- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2015-08-21 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: mini_portile
         
     |