projects
/
platform
/
upstream
/
efl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ae9670c
)
elua: readonly object __dtor support
author
Daniel Kolesa
<d.kolesa@samsung.com>
Mon, 2 Mar 2015 16:02:23 +0000
(16:02 +0000)
committer
Daniel Kolesa
<d.kolesa@samsung.com>
Mon, 2 Mar 2015 16:03:18 +0000
(16:03 +0000)
src/scripts/elua/core/util.lua
patch
|
blob
|
history
diff --git
a/src/scripts/elua/core/util.lua
b/src/scripts/elua/core/util.lua
index
99a7203
..
246ea6c
100644
(file)
--- a/
src/scripts/elua/core/util.lua
+++ b/
src/scripts/elua/core/util.lua
@@
-100,6
+100,11
@@
M.Object = {
local newproxy = newproxy
+local robj_gc = function(px)
+ local dtor = px.__dtor
+ if dtor then dtor(px) end
+end
+
M.Readonly_Object = M.Object:clone {}
M.Readonly_Object.__call = function(self, ...)
local r = newproxy(true)
@@
-107,6
+112,9
@@
M.Readonly_Object.__call = function(self, ...)
rmt.__index = self
rmt.__tostring = self.__tostring
rmt.__metatable = false
+ if self.__enable_dtor then
+ rmt.__gc = robj_gc
+ end
if self.__ctor then return r, self.__ctor(r, rmt, ...) end
return r
end