diff --git a/res/layouts/console.xml.lua b/res/layouts/console.xml.lua index 94cbda8b..f7e47d9b 100644 --- a/res/layouts/console.xml.lua +++ b/res/layouts/console.xml.lua @@ -4,7 +4,7 @@ history = session.get_entry("commands_history") history_pointer = #history events.on("core:open_traceback", function() - if modes then + if modes and modes.current ~= 'debug' then modes:set('debug') end end) diff --git a/res/modules/internal/stream_providers/named_pipe_unix.lua b/res/modules/internal/stream_providers/named_pipe_unix.lua index 8de356fe..1843daba 100644 --- a/res/modules/internal/stream_providers/named_pipe_unix.lua +++ b/res/modules/internal/stream_providers/named_pipe_unix.lua @@ -31,7 +31,7 @@ local lib = {} function lib.read(fd, len) local buffer = FFI.new("uint8_t[?]", len) - local result = C.read(fd, buffer, len) + local result = tonumber(C.read(fd, buffer, len)) local out = Bytearray() diff --git a/res/modules/schedule.lua b/res/modules/schedule.lua index 24d216f0..5d24a086 100644 --- a/res/modules/schedule.lua +++ b/res/modules/schedule.lua @@ -15,8 +15,9 @@ local Schedule = { local timer = self._timer + dt for id, interval in pairs(self._intervals) do if timer - interval.last_called >= interval.delay then - xpcall(interval.callback, function(s) - debug.error(s..'\n'..debug.traceback()) + local stack_size = debug.count_frames() + xpcall(interval.callback, function(msg) + __vc__error(msg, 1, 1, stack_size) end) interval.last_called = timer local repetions = interval.repetions