Uli Schlachter
22a5137299
Print a warning if an invalid reference is dropped (FS#820)
...
Previously, if you called luaA_object_decref() it would silently *create* a new
reference with reference count -1. Obviously, this is not good.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-12-11 13:25:44 +01:00
Uli Schlachter
2732475403
signal: Make non-existing signals non-fatal
...
This function is also called from unprotected C contexts and there shouldn't be
any reason why this really has to be fatal.
A warning makes you lose less sessions. ;)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-26 16:29:36 +02:00
Uli Schlachter
ab4c151ed8
Add signals before using them
...
This commit makes it an error if an unknown signal is connected, disconnected or
emitted. All signals have to be added before they can be used.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-25 23:00:36 +02:00
Uli Schlachter
948f960b7e
Also rename the signal_* C function
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-25 20:48:42 +02:00
Julien Danjou
6d332f07a0
lua{class,object}: rename signals functions
...
I knew this was wrong at the beginning, f*ck.
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-08-25 20:28:20 +02:00
Julien Danjou
f523b37e1d
lua{class,object}: {add,remove}_signal() take lua_CFunction as arg
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-08-25 20:14:55 +02:00
Julien Danjou
3fbb5f1535
luaobject: emit signals on class too
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-08-18 10:41:52 +02:00
Julien Danjou
f7746a198c
luaclass: take care of inheritance garbage collection
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 13:27:49 +02:00
Julien Danjou
fccc451f89
luaclass: add inheritance support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 13:27:04 +02:00
Brian Gianforcaro
3145e3145e
Grammar/spelling corrections in comments and docs.
...
Signed-off-by: Brian Gianforcaro <b.gianfo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-31 10:39:36 +02:00
Julien Danjou
8da6a20f27
luaobject: check that object is userdata
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-22 13:20:55 +02:00
Julien Danjou
c180904d77
luaobject: change function push method in signal emit
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou
2a252cd4da
luaobject: add signal_object_emit
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou
dc61d258f0
luaclass: optimize type handling
...
We use lua_class_t pointer as key in the registry to store metatable we
will compare.
lauxlib uses a string, which sucks, because it forces to do a
pushliteral() each time you want to get a metatable from the registry,
which is slower.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou
7ecce446ad
luaobject: generate Lua API function for add, remove and emit signal
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:18 +02:00
Julien Danjou
eed9864ab0
luaobject: add signals
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:18 +02:00
Julien Danjou
a1b113901c
luaobject: change global refering method
...
We now store elements in registry:
registry.pointer = userdata
And count references.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:40:51 +02:00
Julien Danjou
339fb53d56
luaobject: add and use item system
...
Now, each object can store items.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:29:30 +02:00