git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix small memleak
[enigma2.git]
/
main
/
enigma.cpp
diff --git
a/main/enigma.cpp
b/main/enigma.cpp
index eb0a1845f472165eec9762edb5ae9d9d75167047..cf9120724ddb5014aa5de36f90d2796df7e57644 100644
(file)
--- a/
main/enigma.cpp
+++ b/
main/enigma.cpp
@@
-1,7
+1,3
@@
-#ifdef WITH_SDL
-#define SDLDC
-#endif
-
#include <stdio.h>
#include <unistd.h>
#include <libsig_comp.h>
#include <stdio.h>
#include <unistd.h>
#include <libsig_comp.h>
@@
-20,7
+16,7
@@
#include <lib/gdi/sdl.h>
#endif
#include <lib/gdi/epng.h>
#include <lib/gdi/sdl.h>
#endif
#include <lib/gdi/epng.h>
-#include <lib/gdi/font.h>
+#include <lib/gdi/font.h>
#include <lib/gui/ebutton.h>
#include <lib/gui/elabel.h>
#include <lib/gui/elistboxcontent.h>
#include <lib/gui/ebutton.h>
#include <lib/gui/elabel.h>
#include <lib/gui/elistboxcontent.h>
@@
-30,7
+26,7
@@
#include <lib/python/connections.h>
#include <lib/python/python.h>
#include <lib/python/connections.h>
#include <lib/python/python.h>
-#include "bsod.h"
+#include "bsod.h"
#ifdef HAVE_GSTREAMER
#include <gst/gst.h>
#ifdef HAVE_GSTREAMER
#include <gst/gst.h>
@@
-58,8
+54,26
@@
int getPrevAsciiCode()
void keyEvent(const eRCKey &key)
{
void keyEvent(const eRCKey &key)
{
+ static eRCKey last(0, 0, 0);
+ static int num_repeat;
+
ePtr<eActionMap> ptr;
eActionMap::getInstance(ptr);
ePtr<eActionMap> ptr;
eActionMap::getInstance(ptr);
+
+ if ((key.code == last.code) && (key.producer == last.producer) && key.flags & eRCKey::flagRepeat)
+ num_repeat++;
+ else
+ {
+ num_repeat = 0;
+ last = key;
+ }
+
+ if (num_repeat == 4)
+ {
+ ptr->keyPressed(key.producer->getIdentifier(), key.code, eRCKey::flagLong);
+ num_repeat++;
+ }
+
if (key.flags & eRCKey::flagAscii)
{
prev_ascii_code = key.code;
if (key.flags & eRCKey::flagAscii)
{
prev_ascii_code = key.code;
@@
-81,19
+95,17
@@
void keyEvent(const eRCKey &key)
class eMain: public eApplication, public Object
{
eInit init;
class eMain: public eApplication, public Object
{
eInit init;
-
- ePtr<eDVBResourceManager> m_mgr;
+
ePtr<eDVBDB> m_dvbdb;
ePtr<eDVBDB> m_dvbdb;
+ ePtr<eDVBResourceManager> m_mgr;
ePtr<eDVBLocalTimeHandler> m_locale_time_handler;
ePtr<eDVBLocalTimeHandler> m_locale_time_handler;
- ePtr<eComponentScan> m_scan;
ePtr<eEPGCache> m_epgcache;
public:
eMain()
{
init.setRunlevel(eAutoInitNumbers::main);
ePtr<eEPGCache> m_epgcache;
public:
eMain()
{
init.setRunlevel(eAutoInitNumbers::main);
-
- /* TODO: put into init */
+ /* TODO: put into init */
m_dvbdb = new eDVBDB();
m_mgr = new eDVBResourceManager();
m_locale_time_handler = new eDVBLocalTimeHandler();
m_dvbdb = new eDVBDB();
m_mgr = new eDVBResourceManager();
m_locale_time_handler = new eDVBLocalTimeHandler();
@@
-104,7
+116,7
@@
public:
~eMain()
{
m_dvbdb->saveServicelist();
~eMain()
{
m_dvbdb->saveServicelist();
- m_
scan = 0
;
+ m_
mgr->releaseCachedChannel()
;
}
};
}
};
@@
-132,9
+144,9
@@
int main(int argc, char **argv)
ePython python;
eMain main;
ePython python;
eMain main;
-
+
#if 1
#if 1
-#ifdef
SDLDC
+#ifdef
WITH_SDL
ePtr<gSDLDC> my_dc;
gSDLDC::getInstance(my_dc);
#else
ePtr<gSDLDC> my_dc;
gSDLDC::getInstance(my_dc);
#else
@@
-175,7
+187,7
@@
int main(int argc, char **argv)
dsk_lcd.setDC(my_lcd_dc);
ePtr<gPixmap> m_pm;
dsk_lcd.setDC(my_lcd_dc);
ePtr<gPixmap> m_pm;
- loadPNG(m_pm, DATADIR "/enigma2/pal.png");
+ loadPNG(m_pm, DATADIR "/enigma2/
skin_default/
pal.png");
if (!m_pm)
{
eFatal("pal.png not found!");
if (!m_pm)
{
eFatal("pal.png not found!");
@@
-194,18
+206,27
@@
int main(int argc, char **argv)
{
int i;
{
int i;
- ePtr<gPixmap> wait[4];
- for (i=0; i<4; ++i)
+#define MAX_SPINNER 64
+ ePtr<gPixmap> wait[MAX_SPINNER];
+ for (i=0; i<MAX_SPINNER; ++i)
{
char filename[strlen(DATADIR) + 20];
{
char filename[strlen(DATADIR) + 20];
- sprintf(filename, DATADIR "/enigma2/wait%d.png", i + 1);
- if (loadPNG(wait[i], filename))
+ sprintf(filename, DATADIR "/enigma2/skin_default/spinner/wait%d.png", i + 1);
+ loadPNG(wait[i], filename);
+
+ if (!wait[i])
{
{
- eDebug("failed to load %s! (%m)", filename);
- continue;
+ if (!i)
+ eDebug("failed to load %s! (%m)", filename);
+ else
+ eDebug("found %d spinner!\n", i);
+ break;
}
}
}
}
- my_dc->setSpinner(eRect(100, 100, 105, 105), wait, 4);
+ if (i)
+ my_dc->setSpinner(eRect(ePoint(100, 100), wait[0]->size()), wait, i);
+ else
+ my_dc->setSpinner(eRect(100, 100, 0, 0), wait, 1);
}
gRC::getInstance()->setSpinnerDC(my_dc);
}
gRC::getInstance()->setSpinnerDC(my_dc);
@@
-221,7
+242,10
@@
int main(int argc, char **argv)
python.execute("mytest", "__main__");
if (exit_code == 5) /* python crash */
python.execute("mytest", "__main__");
if (exit_code == 5) /* python crash */
+ {
+ eDebug("(exit code 5)");
bsodFatal();
bsodFatal();
+ }
dsk.paint();
dsk_lcd.paint();
dsk.paint();
dsk_lcd.paint();
@@
-230,7
+254,6
@@
int main(int argc, char **argv)
gPainter p(my_lcd_dc);
p.resetClip(eRect(0, 0, 132, 64));
p.clear();
gPainter p(my_lcd_dc);
p.resetClip(eRect(0, 0, 132, 64));
p.clear();
- p.flush();
}
return exit_code;
}
return exit_code;
@@
-256,3
+279,16
@@
void quitMainloop(int exitCode)
exit_code = exitCode;
eApp->quit(0);
}
exit_code = exitCode;
eApp->quit(0);
}
+
+#include "version.h"
+
+const char *getEnigmaVersionString()
+{
+ return
+#ifdef ENIGMA2_CHECKOUT_TAG
+ ENIGMA2_CHECKOUT_TAG
+#else
+ "HEAD"
+#endif
+ "-" __DATE__;
+}