Improved rfbSessionReader class implementation.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@137 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/rfbplayer/rfbSessionReader.h b/rfbplayer/rfbSessionReader.h
index 06941b1..f42a9ee 100644
--- a/rfbplayer/rfbSessionReader.h
+++ b/rfbplayer/rfbSessionReader.h
@@ -32,16 +32,14 @@
   };
   
   ~rfbSessionReader() {
-    fStop = true;
-    delete join();
   }
 
-  void stop() {
+  virtual Thread* join() {
     fStop = true;
+    return Thread::join();
   }
 
-  void rfbSessionReader::run() {
-    fStop = false;
+  virtual void rfbSessionReader::run() {
     // Process the rfb messages
     while (!fStop) {
       try {
diff --git a/rfbplayer/rfbplayer.cxx b/rfbplayer/rfbplayer.cxx
index 169d716..af6811b 100644
--- a/rfbplayer/rfbplayer.cxx
+++ b/rfbplayer/rfbplayer.cxx
@@ -235,7 +235,6 @@
 RfbPlayer::~RfbPlayer() {
   vlog.debug("~RfbPlayer");
   if (rfbReader) {
-    rfbReader->stop();
     delete rfbReader->join();
     rfbReader = 0;
   }
@@ -820,7 +819,6 @@
 
   // Close the previous reading thread
   if (rfbReader) {
-    rfbReader->stop();
     delete rfbReader->join();
   }
   blankBuffer();