summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzwer <zwer@1f4bef6d-8e0a-0410-8695-e467da8aaccf>2008-11-02 18:27:05 +0000
committerzwer <zwer@1f4bef6d-8e0a-0410-8695-e467da8aaccf>2008-11-02 18:27:05 +0000
commit5bf410e25a0029041653ebecc93ca8c60ee8df04 (patch)
tree47a76147d41f9eba282e1d12db5a6a5a0aecde30
parentdf5f5691179c541b4e7c65e85754f4581487c61e (diff)
downloadvdr-plugin-ffnetdev-5bf410e25a0029041653ebecc93ca8c60ee8df04.tar.gz
vdr-plugin-ffnetdev-5bf410e25a0029041653ebecc93ca8c60ee8df04.tar.bz2
- Lauffähig auf 64 Bit Systemen gemacht
- Beim Aunlernen von Tasten sollte es keine Abstürze mehr geben git-svn-id: svn://svn.berlios.de/ffnetdev/trunk@35 1f4bef6d-8e0a-0410-8695-e467da8aaccf
-rw-r--r--ffnetdev.c14
-rw-r--r--ffnetdev.h1
-rw-r--r--remote.c7
-rw-r--r--rfb.h5
-rw-r--r--tsworker.h4
-rw-r--r--vncEncoder.h4
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