Replace Windows specific thread handling
Use the platform independent primitives instead.
diff --git a/win/winvnc/STrayIcon.h b/win/winvnc/STrayIcon.h
index 309d3f4..0906636 100644
--- a/win/winvnc/STrayIcon.h
+++ b/win/winvnc/STrayIcon.h
@@ -22,20 +22,19 @@
#include <winvnc/VNCServerWin32.h>
#include <rfb_win32/TCharArray.h>
#include <rfb/Configuration.h>
-#include <rfb/Threading.h>
+
+namespace os {
+ class Mutex;
+ class Thread;
+}
namespace winvnc {
- class STrayIconThread : rfb::Thread {
+ class STrayIconThread : os::Thread {
public:
STrayIconThread(VNCServerWin32& sm, UINT inactiveIcon,
UINT activeIcon, UINT dis_inactiveIcon, UINT dis_activeIcon, UINT menu);
- virtual ~STrayIconThread() {
- runTrayIcon = false;
- PostThreadMessage(getThreadId(), WM_QUIT, 0, 0);
- }
-
- virtual void run();
+ virtual ~STrayIconThread();
void setToolTip(const TCHAR* text);
@@ -44,7 +43,10 @@
friend class STrayIcon;
protected:
- rfb::Mutex lock;
+ virtual void worker();
+
+ os::Mutex* lock;
+ DWORD thread_id;
HWND windowHandle;
rfb::TCharArray toolTip;
VNCServerWin32& server;