fxruby 1.6.23-x86-mingw32 → 1.6.24-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.
data/.yardopts CHANGED
@@ -1,8 +1,12 @@
1
+ --readme README.rdoc
2
+ --title "FXRuby API Documentation"
1
3
  --exclude '/aliases|kwargs|missingdep|responder/'
2
4
  --protected
3
5
  --no-private
6
+ --charset utf-8
4
7
  rdoc-sources/*.rb
5
8
  lib/fox16/*.rb
6
9
  -
7
10
  History.txt
8
11
  rdoc-sources/*.rdoc
12
+ README.rdoc
@@ -1,3 +1,7 @@
1
+ === 1.6.24 / 2012-06-06
2
+
3
+ * Update libraries for win32 build: libz-1.2.7 libpng-1.5.10 libjpeg-8d libtiff-4.0.1 libfox-1.6.45
4
+ * Avoid Segfauls in lots of methods when called with nil instead of FXApp, FXComposite or FXWindow objects
1
5
 
2
6
  === 1.6.23 / 2012-03-08
3
7
 
@@ -3,7 +3,6 @@
3
3
  .yardopts
4
4
  History.txt
5
5
  Manifest.txt
6
- README.git
7
6
  README.rdoc
8
7
  Rakefile
9
8
  Rakefile.cross
@@ -27,7 +27,7 @@ FXRuby supportes everything of FOX, that is useful in Ruby:
27
27
 
28
28
  FXRuby runs on Linux, Windows and OS-X. Installation on *nix requires
29
29
  FOX development headers and libraries installed:
30
- * on Debian/Ubuntu: <tt>sudo apt-get install libfox-1.6-dev</tt>
30
+ * on Debian/Ubuntu: <tt>sudo apt-get install g++ libxrandr-dev libfox-1.6-dev</tt>
31
31
  * see also detailed installation instructions in the {https://github.com/lylejohnson/fxruby/wiki Wiki}
32
32
  * no preparation needed on Windows - the binary gem can be used
33
33
 
data/Rakefile CHANGED
@@ -7,10 +7,10 @@ load 'Rakefile.cross'
7
7
 
8
8
  # Use forked process for chdir'ed environment, to allow parallel execution with drake
9
9
  module FileUtils
10
- alias old_fileutils_cd cd
10
+ alias unforked_fileutils_cd cd
11
11
  def cd(dir, options={}, &block)
12
- raise "forked_chdir called without block" unless block_given?
13
- Process.waitpid(fork{ old_fileutils_cd(dir, options, &block) })
12
+ raise "chdir called without block" unless block_given?
13
+ Process.waitpid(fork{ unforked_fileutils_cd(dir, options, &block) })
14
14
  end
15
15
  module_function :cd
16
16
  alias chdir cd
@@ -34,7 +34,7 @@ end
34
34
 
35
35
 
36
36
  # Fetch zlib tarball
37
- LIBZ_VERSION = ENV['LIBZ_VERSION'] || '1.2.5'
37
+ LIBZ_VERSION = ENV['LIBZ_VERSION'] || '1.2.7'
38
38
  LIBZ_SOURCE_URI = URI( "http://downloads.sourceforge.net/project/libpng/zlib/#{LIBZ_VERSION}/zlib-#{LIBZ_VERSION}.tar.bz2" )
39
39
  LIBZ_TARBALL = STATIC_SOURCESDIR + File.basename( LIBZ_SOURCE_URI.path )
40
40
  STATIC_LIBZ_BUILDDIR = STATIC_BUILDDIR + LIBZ_TARBALL.basename(".tar.bz2")
@@ -42,7 +42,7 @@ LIBZ_MAKEFILE = STATIC_LIBZ_BUILDDIR + 'Makefile'
42
42
  LIBZ_A = STATIC_INSTALLDIR + 'lib' + 'libz.a'
43
43
 
44
44
  # Fetch libpng tarball
45
- LIBPNG_VERSION = ENV['LIBPNG_VERSION'] || '1.5.4'
45
+ LIBPNG_VERSION = ENV['LIBPNG_VERSION'] || '1.5.10'
46
46
  LIBPNG_SOURCE_URI = URI( "http://prdownloads.sourceforge.net/libpng/libpng-#{LIBPNG_VERSION}.tar.gz?download" )
47
47
  LIBPNG_TARBALL = STATIC_SOURCESDIR + File.basename( LIBPNG_SOURCE_URI.path )
48
48
  STATIC_LIBPNG_BUILDDIR = STATIC_BUILDDIR + LIBPNG_TARBALL.basename(".tar.gz")
@@ -51,7 +51,7 @@ LIBPNG_A = STATIC_INSTALLDIR + 'lib' + 'libpng.a'
51
51
 
52
52
 
53
53
  # Fetch libjpeg tarball
54
- LIBJPEG_VERSION = ENV['LIBJPEG_VERSION'] || '8c'
54
+ LIBJPEG_VERSION = ENV['LIBJPEG_VERSION'] || '8d'
55
55
  LIBJPEG_SOURCE_URI = URI( "http://www.ijg.org/files/jpegsrc.v#{LIBJPEG_VERSION}.tar.gz" )
56
56
  LIBJPEG_TARBALL = STATIC_SOURCESDIR + File.basename( LIBJPEG_SOURCE_URI.path )
57
57
  STATIC_LIBJPEG_BUILDDIR = STATIC_BUILDDIR + "jpeg-#{LIBJPEG_VERSION}"
@@ -60,7 +60,7 @@ LIBJPEG_A = STATIC_INSTALLDIR + 'lib' + 'libjpeg.a'
60
60
 
61
61
 
62
62
  # Fetch libtiff tarball
63
- LIBTIFF_VERSION = ENV['LIBTIFF_VERSION'] || '3.9.5'
63
+ LIBTIFF_VERSION = ENV['LIBTIFF_VERSION'] || '4.0.1'
64
64
  LIBTIFF_SOURCE_URI = URI( "http://download.osgeo.org/libtiff/tiff-#{LIBTIFF_VERSION}.tar.gz" )
65
65
  LIBTIFF_TARBALL = STATIC_SOURCESDIR + File.basename( LIBTIFF_SOURCE_URI.path )
66
66
  STATIC_LIBTIFF_BUILDDIR = STATIC_BUILDDIR + LIBTIFF_TARBALL.basename(".tar.gz")
@@ -69,7 +69,7 @@ LIBTIFF_A = STATIC_INSTALLDIR + 'lib' + 'libtiff.a'
69
69
 
70
70
 
71
71
  # Fetch libfox tarball
72
- LIBFOX_VERSION = ENV['LIBFOX_VERSION'] || '1.6.44'
72
+ LIBFOX_VERSION = ENV['LIBFOX_VERSION'] || '1.6.45'
73
73
  LIBFOX_SOURCE_URI = URI( "http://ftp.fox-toolkit.org/pub/fox-#{LIBFOX_VERSION}.tar.gz" )
74
74
  LIBFOX_TARBALL = STATIC_SOURCESDIR + File.basename( LIBFOX_SOURCE_URI.path )
75
75
  STATIC_LIBFOX_BUILDDIR = STATIC_BUILDDIR + LIBFOX_TARBALL.basename(".tar.gz")
@@ -269,6 +269,7 @@ void FXRbUnregisterRubyObj(const void* foxObj){
269
269
  if(foxObj!=0){
270
270
  FXRubyObjDesc* desc;
271
271
  if(st_lookup(FXRuby_Objects,reinterpret_cast<st_data_t>(const_cast<void*>(foxObj)),reinterpret_cast<st_data_t *>(&desc))!=0){
272
+ FXTRACE((1,"FXRbUnregisterRubyObj(rubyObj=%d,foxObj=%p)\n",static_cast<int>(desc->obj),foxObj));
272
273
  DATA_PTR(desc->obj)=0;
273
274
  FXFREE(&desc);
274
275
  st_delete(FXRuby_Objects,reinterpret_cast<st_data_t *>(const_cast<void**>(&foxObj)),reinterpret_cast<st_data_t *>(0));
@@ -80,7 +80,8 @@ def do_rake_compiler_setup
80
80
  have_library( 'winspool', 'EnumPrintersA') && append_library( $libs, 'winspool' )
81
81
 
82
82
  CONFIG['CC'] += "\nCXX=#{ENV['CROSS_PREFIX']}-g++" # Hack CXX into Makefile for cross compilation
83
- $CFLAGS += " -D_SYS_TIME_H_" # fix incompatible types for gettimeofday()
83
+ CONFIG['LDSHARED'].gsub!('gcc', 'g++') # ensure C++ linker is used, so that libstdc++ is linked static
84
+ $LDFLAGS += " -static-libgcc -static-libstdc++" # mingw-w64 v4.7 defaults to dynamic linking
84
85
  elsif RUBY_PLATFORM =~ /mingw/
85
86
  $CFLAGS = $CFLAGS + " -I/usr/local/include"
86
87
  $LDFLAGS = $LDFLAGS + " -I/usr/local/lib"
@@ -92,8 +93,8 @@ def do_rake_compiler_setup
92
93
  $LDFLAGS = $LDFLAGS + " -L/usr/local/lib" # for libjpeg and libtiff
93
94
  %w{Xft}.each {|lib| $libs = append_library($libs, lib) }
94
95
  end
95
- $libs = append_library($libs, "stdc++")
96
- have_header("sys/time.h") unless RUBY_PLATFORM =~ /mingw/
96
+ $libs = append_library($libs, "stdc++") unless RUBY_PLATFORM =~ /mingw/ || enable_config("win32-static-build")
97
+ have_header("sys/time.h") unless RUBY_PLATFORM =~ /mingw/ || enable_config("win32-static-build")
97
98
  have_header("signal.h")
98
99
  if have_library("z", "deflate")
99
100
  have_library("png", "png_create_read_struct")
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  module Fox
2
2
  def Fox.fxrubyversion
3
- "1.6.23"
3
+ "1.6.24"
4
4
  end
5
5
  end
@@ -464,7 +464,7 @@ public:
464
464
  * Run popup menu while shown, until stop() or stopModal() is called.
465
465
  * Also returns when entering previous cascading popup menu.
466
466
  */
467
- FXint runPopup(FXWindow* window);
467
+ FXint runPopup(FXWindow* owner);
468
468
 
469
469
  /// True if the window is modal
470
470
  bool isModal(FXWindow* window) const;
@@ -53,10 +53,10 @@ public:
53
53
  public:
54
54
 
55
55
  /// Construct splash window
56
- FXSplashWindow(FXApp* ap,FXIcon* ic,FXuint opts=SPLASH_SIMPLE,FXuint ms=5000);
56
+ FXSplashWindow(FXApp* a,FXIcon* ic,FXuint opts=SPLASH_SIMPLE,FXuint ms=5000);
57
57
 
58
58
  /// Construct splash window
59
- FXSplashWindow(FXWindow* ow,FXIcon* ic,FXuint opts=SPLASH_SIMPLE,FXuint ms=5000);
59
+ FXSplashWindow(FXWindow* own,FXIcon* ic,FXuint opts=SPLASH_SIMPLE,FXuint ms=5000);
60
60
 
61
61
  /// Set the icon for the splash window
62
62
  void setIcon(FXIcon* ic);
@@ -24,8 +24,14 @@
24
24
 
25
25
  %apply Pointer NONNULL {
26
26
  FXApp* APP,
27
- FXComposite* PARENT,
28
- FXWindow* OWNER
27
+ FXApp* a,
28
+ FXApp* app,
29
+ FXApp* application,
30
+ FXComposite* PARENT,
31
+ FXComposite* p,
32
+ FXWindow* OWNER,
33
+ FXWindow* own,
34
+ FXWindow* owner
29
35
  }
30
36
 
31
37
  /* Type-checking rules */
@@ -23,6 +23,10 @@ class TC_FXApp2 < Fox::TestCase
23
23
  super(self.class.name)
24
24
  end
25
25
 
26
+ def test_nil_window_raises_argument_error
27
+ assert_raise(ArgumentError){ app.runPopup(nil) }
28
+ end
29
+
26
30
  def check_events(pipe_rd, pipe_wr)
27
31
  app.addInput(pipe_wr, INPUT_WRITE, app, FXApp::ID_QUIT)
28
32
  app.run
@@ -10,6 +10,10 @@ class TC_FXButton < Fox::TestCase
10
10
  @button = FXButton.new(mainWindow, "buttonText")
11
11
  end
12
12
 
13
+ def test_nil_parent_raises_argument_error
14
+ assert_raise(ArgumentError){ FXButton.new(nil, "buttonText") }
15
+ end
16
+
13
17
  def testText
14
18
  assert(@button.text)
15
19
  assert_instance_of(String, @button.text)
@@ -10,6 +10,15 @@ class TC_FXGLViewer < Fox::TestCase
10
10
  vis = FXGLVisual.new(app, VISUAL_DOUBLEBUFFER)
11
11
  @viewer = FXGLViewer.new(mainWindow, vis)
12
12
  end
13
+
14
+ def test_supported
15
+ assert FXGLVisual.supported?(app)
16
+ end
17
+
18
+ def test_nil_app_raises_argument_error
19
+ assert_raise(ArgumentError){ FXGLVisual.supported?(nil) }
20
+ end
21
+
13
22
  =begin
14
23
  def test_readPixels
15
24
  pixels = @viewer.readPixels(0, 0, @viewer.width, @viewer.height)
@@ -9,6 +9,10 @@ class TC_FXMessageBox < Fox::TestCase
9
9
  super(self.class.name)
10
10
  end
11
11
 
12
+ def test_nil_app_raises_argument_error
13
+ assert_raise(ArgumentError){ FXMessageBox.new(nil, "Save?", "Save?", :opts => MBOX_SAVE_CANCEL_DONTSAVE) }
14
+ end
15
+
12
16
  def test_construct_with_save_cancel_dontsave
13
17
  assert_nothing_raised(RangeError) do
14
18
  FXMessageBox.new(mainWindow, "Save?", "Save?", :opts => MBOX_SAVE_CANCEL_DONTSAVE)
@@ -10,6 +10,10 @@ class TC_FXScrollArea < Fox::TestCase
10
10
  @scrollArea = FXScrollArea.new(mainWindow)
11
11
  end
12
12
 
13
+ def test_nil_parent_raises_argument_error
14
+ assert_raise(ArgumentError){ FXScrollArea.new(nil) }
15
+ end
16
+
13
17
  def test_position_get
14
18
  pos = @scrollArea.position
15
19
  assert_instance_of(Array, pos)
@@ -15,6 +15,10 @@ class TC_FXShell < Test::Unit::TestCase
15
15
  @mainWin = FXMainWindow.new(@app, 'TC_FXShell')
16
16
  end
17
17
 
18
+ def test_nil_parent_raises_argument_error
19
+ assert_raise(ArgumentError){ FXShell.new(nil, 0, 0, 0, 0, 0) }
20
+ end
21
+
18
22
  def test_new
19
23
  # Free-floating
20
24
  shell1 = FXShell.new(@app, 0, 0, 0, 0, 0)
@@ -15,6 +15,10 @@ class TC_FXTopWindow < Test::Unit::TestCase
15
15
  @mainWin = FXMainWindow.new(@app, 'TC_FXButton')
16
16
  end
17
17
 
18
+ def test_nil_app_raises_argument_error
19
+ assert_raise(ArgumentError){ FXTopWindow.new(nil, 'TC_FXButton') }
20
+ end
21
+
18
22
  def test_new
19
23
  # Free-floating
20
24
  top1 = FXTopWindow.new(@app, "top1", nil, nil, DECOR_ALL, 0, 0, 0, 0,
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fxruby
3
3
  version: !ruby/object:Gem::Version
4
- hash: 33
4
+ hash: 63
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 6
9
- - 23
10
- version: 1.6.23
9
+ - 24
10
+ version: 1.6.24
11
11
  platform: x86-mingw32
12
12
  authors:
13
13
  - Lyle Johnson
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-03-08 00:00:00 Z
19
+ date: 2012-06-06 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: rdoc
@@ -67,7 +67,6 @@ files:
67
67
  - .yardopts
68
68
  - History.txt
69
69
  - Manifest.txt
70
- - README.git
71
70
  - README.rdoc
72
71
  - Rakefile
73
72
  - Rakefile.cross
data/README.git DELETED
@@ -1,3 +0,0 @@
1
- To push changes on local topic/1.6 branch back to remote 1.6 branch:
2
-
3
- git push origin topic/1.6:1.6