#include <lib/base/smartptr.h>
#include <lib/gdi/grc.h>
#include <lib/gdi/gfbdc.h>
+#ifdef WITH_SDL
+#include <lib/gdi/sdl.h>
+#endif
#include "version.h"
std::string buffer = getLogBuffer();
fwrite(buffer.c_str(), buffer.size(), 1, f);
fclose(f);
+
+ char cmd[256];
+ sprintf(cmd, "find /usr/lib/enigma2/python/ -name \"*.py\" | xargs md5sum >> %s", logfile);
+ system(cmd);
}
+#ifdef WITH_SDL
+ ePtr<gSDLDC> my_dc;
+ gSDLDC::getInstance(my_dc);
+#else
ePtr<gFBDC> my_dc;
gFBDC::getInstance(my_dc);
+#endif
{
gPainter p(my_dc);
p.resetOffset();
p.resetClip(eRect(ePoint(0, 0), my_dc->size()));
- p.setBackgroundColor(gRGB(0x0000C0));
+#ifdef ENIGMA2_CHECKOUT_TAG
+ if (ENIGMA2_CHECKOUT_TAG[0] == 'T') /* tagged checkout (release) */
+ p.setBackgroundColor(gRGB(0x0000C0));
+ else if (ENIGMA2_CHECKOUT_TAG[0] == 'D') /* dated checkout (daily experimental build) */
+ {
+ srand(time(0));
+ int r = rand();
+ unsigned int col = 0;
+ if (r & 1)
+ col |= 0x800000;
+ if (r & 2)
+ col |= 0x008000;
+ if (r & 4)
+ col |= 0x0000c0;
+ p.setBackgroundColor(gRGB(col));
+ }
+#else
+ p.setBackgroundColor(gRGB(0x008000));
+#endif
+
p.setForegroundColor(gRGB(0xFFFFFF));
ePtr<gFont> font = new gFont("Regular", 20);
p.renderText(usable_area,
lines.substr(start), gPainter::RT_HALIGN_LEFT);
- p.flush();
sleep(10);
}
}
#else
#warning "no oops support!"
-#error bla
#define NO_OOPS_SUPPORT
#endif
ucontext_t *uc = (ucontext_t*)ctx;
eDebug("KILLED BY signal %d", signum);
#ifndef NO_OOPS_SUPPORT
- oops(uc->uc_mcontext, signum == SIGSEGV);
+ oops(uc->uc_mcontext, signum == SIGSEGV || signum == SIGABRT);
#endif
eDebug("-------");
bsodFatal();
sigaction(SIGSEGV, &act, 0);
sigaction(SIGILL, &act, 0);
sigaction(SIGBUS, &act, 0);
+ sigaction(SIGABRT, &act, 0);
}
void bsodLogInit()