- Dec 03, 2016
-
-
Lars Kanis authored
-
Lars Kanis authored
-
- Feb 06, 2016
-
-
Lars Kanis authored
-
Lars Kanis authored
It can easily replaced by rb_ary_entry(). Also make use of StringValueCStr() where it is suitable.
-
- Aug 27, 2015
-
-
Lars Kanis authored
This should fix: https://github.com/larskanis/fxruby/issues/24
-
- Aug 17, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
rb_during_gc() isn't sufficient for indication of free-phases on Ruby < 2.2. In some sitiations it returns zero, altought being within a free-phase. Moreover Rubinius doesn't support rb_during_gc() at all. So we now use both, rb_during_gc() and our own GC-detection, to avoid calls that are prohibited while GC phases. This reverts commit acec4416.
-
Lars Kanis authored
Only the address of the foxobj is checked, but this is ambiguous for the first member of a struct or class like this: struct FXAPI FXMaterial { FXVec4f ambient; // Ambient material color FXVec4f diffuse; // Diffuse material color FXVec4f specular; // Specular material color FXVec4f emission; // Emissive material color FXfloat shininess; // Specular shininess }; One and the same address point to a FXMaterial and a FXVec4f object.
-
Lars Kanis authored
-
- Aug 03, 2015
-
-
Lars Kanis authored
C++ DLLs built with i586-mingw32msvc and i686-w64-mingw32 are not compatible. So this changes the build, so that we ship the ports directorys of both compiler versions. This fixes https://github.com/larskanis/fxruby/issues/22
-
Lars Kanis authored
-
- Aug 02, 2015
-
-
Lars Kanis authored
so that all FXTRACE() and FXASSERT() calls are skiped, per default. This should improve performance.
-
Lars Kanis authored
This fixes https://github.com/larskanis/fxruby/issues/21 It was introduced in commit 347966fc.
-
- Jul 21, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
This fixes issue https://github.com/larskanis/fxruby/issues/20
-
- Jul 07, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
-
- Jul 06, 2015
-
-
Lars Kanis authored
This should ensure, that the event is definitely cleared. These functions should be thread safe.
-
Lars Kanis authored
-
Lars Kanis authored
Switch off polling-based (addChore) processing of threads Add event-based interruption of GVL-released functions.
-
- Jun 25, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
This works for sockets only for now.
-
- Jun 24, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
-
Lars Kanis authored
-
- Jun 14, 2015
-
-
Lars Kanis authored
-
- Jun 13, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
This is the only function that is currently required to acquire the GVL. Other FXRbCall functions could be wrapped equally.
-
Lars Kanis authored
This is just enough for loadPixel/savePixel, but if other methods release the GVL, potentially all other callback functions could be called. These are now yet wrapped by gvl-aware wrappers.
-
- Jun 12, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
-
- Jun 08, 2015
-
-
Lars Kanis authored
This also fixes some build system checks, that should be for the target system.
-
- Feb 20, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
without check.
-
- Feb 19, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
This solves crashes of kind: [BUG] rb_gc_mark(): 0x00000003f54af8 is T_ZOMBIE All parameters to Ruby event blocks or overloaded methods are converted to proper Ruby classes or wrapped by appropriate wrapper classes for borrowed objects. The wrapper classes are registered, to keep the connection between C-pointer (the borrowed object) and the wrapping Ruby object. This connection is canceled either when the borrowed object is destroyed or the Ruby wrapper is free'd. If neither of them happens, the wrapper object is re-used for the next call. This worked good with Ruby-1.8, which has one big mark and sweep run. Ruby-2.2 introduced incremental GC and has several mark and sweep runs, so that marks and sweeps are quite independent. Therefor we re-used objects, that are already maked for sweeping (so called T_ZOMBIE). This patch releases the connection between borrowed object and it's wrapper object after each call into Ruby code. Therefore the wrapper object isn't re-used, but a new one is created for each param to each call. The wrapper objects are later free'd by the GC. This patch could have a negative performance impact.
-
- Feb 18, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
-
- Feb 17, 2015
-
-
Lars Kanis authored
Static linking all dependent libraries into each ruby version (from 1.8 to 2.2) would blow up the gem to >20MB.
-
- Feb 14, 2015
-
-
Lars Kanis authored
-