[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Error handling in IUP
- From: "Peter Loveday" <peter@...>
- Date: Fri, 18 Aug 2006 10:24:01 +0930
I'm having a weird problem with error handling in iup 2.5, running with Lua
5.11. This is a custom build, so its possible I've introduced a problem.
When an error occurs in an iup action handler, say a button:action()
callback, it goes into a recursive loop until it exhausts the lua stack and
traps with LUA_ERRERR ("error in error handling").
As best as I can see, the callback itself is being used as the error
handling function, as it is at the first index on the stack.
I am curious as to what sets up the error handler? In the C code, the
action callback first calls iuplua_call_start(), which finds the named
callback function, then uses iuplua_call() to call the callbak function.
This directly calls lua_pcall(), passing 1 for the error handler. I cannot
see anywhere the error function would be put at this index, but perhaps I'm
missing something. There is another function defined, docall(), which sets
up an error handler, but this doesn't seem to be involved in this case.
As I said, its entirely possible I've introduced this issue, but any
pointers as to where the error function is supposed to be put on the stack
in this case would be appreciated.
Love, Light and Peace,
- Peter Loveday