fxruby 1.6.23-x86-mingw32 → 1.6.24-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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