From 5bf410e25a0029041653ebecc93ca8c60ee8df04 Mon Sep 17 00:00:00 2001 From: zwer Date: Sun, 2 Nov 2008 18:27:05 +0000 Subject: =?UTF-8?q?-=20Lauff=C3=A4hig=20auf=2064=20Bit=20Systemen=20gemach?= =?UTF-8?q?t=20-=20Beim=20Aunlernen=20von=20Tasten=20sollte=20es=20keine?= =?UTF-8?q?=20Abst=C3=BCrze=20mehr=20geben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://svn.berlios.de/ffnetdev/trunk@35 1f4bef6d-8e0a-0410-8695-e467da8aaccf --- ffnetdev.c | 14 +++++++++++--- ffnetdev.h | 1 + remote.c | 7 +++---- rfb.h | 5 +++-- tsworker.h | 4 ++++ vncEncoder.h | 4 ++++ 6 files changed, 26 insertions(+), 9 deletions(-) diff --git a/ffnetdev.c b/ffnetdev.c index 5705d6c..b6ad05a 100644 --- a/ffnetdev.c +++ b/ffnetdev.c @@ -15,7 +15,6 @@ #include "netosd.h" #include "ffnetdev.h" #include "streamdevice.h" -#include "remote.h" #include "osdworker.h" #include "clientcontrol.h" #include "config.h" @@ -62,6 +61,7 @@ cPluginFFNetDev::cPluginFFNetDev(void) EnableRemote = false; m_origPrimaryDevice = -1; m_Remote = NULL; + m_LearningThread = NULL; config.iAutoSetPrimaryDVB = 0; } @@ -252,9 +252,11 @@ void cPluginFFNetDev::SetPrimaryDevice() m_Remote = new cMyRemote(str); } - + if (!cRemote::HasKeys()) - new cLearningThread(); + { + m_LearningThread = new cLearningThread(); + } dsyslog("[ffnetdev] remote control enabled.\n"); } else @@ -286,6 +288,12 @@ void cPluginFFNetDev::RestorePrimaryDevice() Remotes.Del(m_Remote); m_Remote = NULL; } + + if (m_LearningThread) + { + delete m_LearningThread; + m_LearningThread = NULL; + } } void cPluginFFNetDev::SetClientName(char* ClientName) diff --git a/ffnetdev.h b/ffnetdev.h index a12831e..8288ce6 100644 --- a/ffnetdev.h +++ b/ffnetdev.h @@ -28,6 +28,7 @@ private: bool EnableRemote; int m_origPrimaryDevice; char m_ClientName[20]; + cLearningThread *m_LearningThread; public: cPluginFFNetDev(void); diff --git a/remote.c b/remote.c index cce1392..e16ee0f 100644 --- a/remote.c +++ b/remote.c @@ -62,12 +62,11 @@ void cLearningThread::Action(void) { dsyslog("[ffnetdev] ClientIsReady=%d OsdIsOpen=%d SkinsIsOpen=%d", cOSDWorker::ClientIsReady(), cOsd::IsOpen(), Skins.IsOpen()); - delete this; return; } - +#ifdef DEBUG + fprintf(stderr, "[ffnetdev] start learning keys"); +#endif dsyslog("[ffnetdev] start learning keys"); Interface->LearnKeys(); - - delete this; } diff --git a/rfb.h b/rfb.h index b5194ed..9739141 100644 --- a/rfb.h +++ b/rfb.h @@ -33,9 +33,10 @@ #define RFB_H__ // Define the CARD* types -typedef unsigned long CARD32; -typedef unsigned short CARD16; +typedef unsigned int CARD32; +typedef unsigned short int CARD16; typedef unsigned char CARD8; + // Define the port number offsets #define FLASH_PORT_OFFSET 5400 diff --git a/tsworker.h b/tsworker.h index cb1652d..22536e7 100644 --- a/tsworker.h +++ b/tsworker.h @@ -16,7 +16,11 @@ #include "netosd.h" #include "ffnetdev.h" +#ifdef _LP64 +typedef unsigned long u64; +#else typedef unsigned long long u64; +#endif #define TCP_SEND_SIZE (1024 * 20) diff --git a/vncEncoder.h b/vncEncoder.h index b59bfef..6ee7ea6 100644 --- a/vncEncoder.h +++ b/vncEncoder.h @@ -39,7 +39,11 @@ class vncEncoder; typedef unsigned char BYTE; typedef unsigned int UINT; +#ifdef _LP64 +typedef unsigned int DWORD; +#else typedef unsigned long DWORD; +#endif //static -- cgit v1.2.3