elua: list and readonly object fixes
authorDaniel Kolesa <quaker66@gmail.com>
Mon, 14 Apr 2014 13:46:55 +0000 (14:46 +0100)
committerDaniel Kolesa <d.kolesa@samsung.com>
Tue, 10 Jun 2014 14:48:47 +0000 (15:48 +0100)
src/bin/elua/core/util.lua
src/bindings/luajit/eina/list.lua

index 32730fa9c23312ba1c94bb9955862d04efb686dc..a82da149736e330150cb07601d36cdfb37848141 100644 (file)
@@ -45,17 +45,16 @@ M.Object = {
 
 local newproxy = newproxy
 
-M.Readonly_Object = M.Object:clone {
-    __call = function(self, ...)
-        local r = newproxy(true)
-        local rmt = getmetatable(r)
-        rmt.__index = self
-        rmt.__tostring = self.__tostring
-        rmt.__metatable = false
-        if self.__ctor then self.__ctor(r, rmt, ...) end
-        return r
-    end
-}
+M.Readonly_Object = M.Object:clone {}
+M.Readonly_Object.__call = function(self, ...)
+    local r = newproxy(true)
+    local rmt = getmetatable(r)
+    rmt.__index = self
+    rmt.__tostring = self.__tostring
+    rmt.__metatable = false
+    if self.__ctor then self.__ctor(r, rmt, ...) end
+    return r
+end
 
 local loaded_libs = {}
 local loaded_libc = {}
index c62b9c604e811866bde86dd97052098f84e81b3e..af59e107e5ef8704cf1d72dc949340f5d63d0874 100644 (file)
@@ -247,8 +247,7 @@ local List_Base = util.Readonly_Object:clone {
     end,
 
     to_array = function(self)
-        self = dgetmt(self)
-        local l = self.__list
+        local l = dgetmt(self).__list
         if l == nil then return {}, 0 end
         local n = 0
         local r = {}