diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2011-05-01 09:13:08 +0200 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2011-05-01 09:13:08 +0200 | 
| commit | f95e9909e93dd1ddb9d19ccd36be34a3a84ddd44 (patch) | |
| tree | 8a9db1f0f59e6e898db12deb6943a9c44aa8bf8a /lib | |
| parent | bb7b6c52a50e65fb361ede8f26039b5822b9a0cb (diff) | |
| download | ffi-efl-f95e9909e93dd1ddb9d19ccd36be34a3a84ddd44.zip ffi-efl-f95e9909e93dd1ddb9d19ccd36be34a3a84ddd44.tar.gz  | |
fix AutoPointer usage + use it for REinaHash
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/efl/ecore_evas.rb | 1 | ||||
| -rw-r--r-- | lib/efl/eina_hash.rb | 14 | ||||
| -rw-r--r-- | lib/efl/evas.rb | 1 | 
3 files changed, 8 insertions, 8 deletions
diff --git a/lib/efl/ecore_evas.rb b/lib/efl/ecore_evas.rb index 6dadd3f..cb08d30 100644 --- a/lib/efl/ecore_evas.rb +++ b/lib/efl/ecore_evas.rb @@ -30,6 +30,7 @@ module Efl              def free p=nil                  return Efl::EcoreEvas.ecore_evas_free p unless p.nil?                  Efl::EcoreEvas.ecore_evas_free @ptr +                @ptr.free                  @ptr=nil              end              def get diff --git a/lib/efl/eina_hash.rb b/lib/efl/eina_hash.rb index e47e2c1..9aa8808 100644 --- a/lib/efl/eina_hash.rb +++ b/lib/efl/eina_hash.rb @@ -26,20 +26,17 @@ module Efl                  @ptr = (                      case o                      when NilClass -                        cstr.call -#                        FFI::AutoPointer.new cstr.call, method(:free) +                        FFI::AutoPointer.new cstr.call, method(:free)                      when self.class                          o.to_ptr -#                    when FFI::AutoPointer -#                        o +                    when FFI::AutoPointer +                        o                      when FFI::Pointer -                        ( o==FFI::Pointer::NULL ? cstr.call : o ) -#                        FFI::AutoPointer.new ( o==FFI::Pointer::NULL ? cstr.call : o ), method(:free) +                        FFI::AutoPointer.new ( o==FFI::Pointer::NULL ? cstr.call : o ), method(:free)                      when Hash                          ptr = cstr.call                          o.each do |k,v| Efl::EinaHash.eina_hash_add ptr, k, v end -                        ptr -#                        FFI::AutoPointer.new ptr, method(:free) +                        FFI::AutoPointer.new ptr, method(:free)                      else                          raise ArgumentError.new "wrong argument #{o.class.name}"                      end @@ -48,6 +45,7 @@ module Efl              def free p=nil                  return Efl::EinaHash.eina_hash_free p unless p.nil?                  Efl::EinaHash.eina_hash_free @ptr +                @ptr.free                  @ptr = nil              end              def each data=FFI::Pointer::NULL, &block diff --git a/lib/efl/evas.rb b/lib/efl/evas.rb index 56657d3..3713e6b 100644 --- a/lib/efl/evas.rb +++ b/lib/efl/evas.rb @@ -124,6 +124,7 @@ module Efl              def free p=nil                  return Efl::Evas.evas_object_del p unless p.nil?                  Efl::Evas.evas_object_del @ptr +                @ptr.free                  @ptr=nil              end              def geometry_get  | 
