diff options
| author | Remko Tronçon <git@el-tramo.be> | 2014-03-08 08:28:20 (GMT) | 
|---|---|---|
| committer | Swift Review <review@swift.im> | 2014-03-21 09:57:37 (GMT) | 
| commit | 7c2639d131a62496a5d0ba894e63a314ed2012d6 (patch) | |
| tree | 58f5809e3f8950c343800b9e11e88194a963f892 | |
| parent | a51044193098128f615287308240edd0611a2e4b (diff) | |
| download | swift-7c2639d131a62496a5d0ba894e63a314ed2012d6.zip swift-7c2639d131a62496a5d0ba894e63a314ed2012d6.tar.bz2 | |
Disconnect ClientXMLTracer signals at destruction time
This fixes a crash when disabling the XML tracer.
Change-Id: Id26255610e71809901409e42d5a61b18e502d8f6
| -rw-r--r-- | Swiften/Client/ClientXMLTracer.cpp | 6 | ||||
| -rw-r--r-- | Swiften/Client/ClientXMLTracer.h | 5 | 
2 files changed, 7 insertions, 4 deletions
| diff --git a/Swiften/Client/ClientXMLTracer.cpp b/Swiften/Client/ClientXMLTracer.cpp index b413f40..9bfa047 100644 --- a/Swiften/Client/ClientXMLTracer.cpp +++ b/Swiften/Client/ClientXMLTracer.cpp @@ -1,5 +1,5 @@  /* - * Copyright (c) 2010 Remko Tronçon + * Copyright (c) 2010-2014 Remko Tronçon   * Licensed under the GNU General Public License v3.   * See Documentation/Licenses/GPLv3.txt for more information.   */ @@ -19,8 +19,8 @@ ClientXMLTracer::ClientXMLTracer(CoreClient* client, bool bosh) : bosh(bosh) {  #else  	beautifier = new XMLBeautifier(true, true);  #endif -	client->onDataRead.connect(boost::bind(&ClientXMLTracer::printData, this, '<', _1)); -	client->onDataWritten.connect(boost::bind(&ClientXMLTracer::printData, this, '>', _1)); +	onDataReadConnection = client->onDataRead.connect(boost::bind(&ClientXMLTracer::printData, this, '<', _1)); +	onDataWrittenConnection = client->onDataWritten.connect(boost::bind(&ClientXMLTracer::printData, this, '>', _1));  }  ClientXMLTracer::~ClientXMLTracer() { diff --git a/Swiften/Client/ClientXMLTracer.h b/Swiften/Client/ClientXMLTracer.h index 91cfe22..95e2f6f 100644 --- a/Swiften/Client/ClientXMLTracer.h +++ b/Swiften/Client/ClientXMLTracer.h @@ -1,5 +1,5 @@  /* - * Copyright (c) 2010 Remko Tronçon + * Copyright (c) 2010-2014 Remko Tronçon   * Licensed under the GNU General Public License v3.   * See Documentation/Licenses/GPLv3.txt for more information.   */ @@ -16,6 +16,7 @@ namespace Swift {  		public:  			ClientXMLTracer(CoreClient* client, bool bosh = false);  			~ClientXMLTracer(); +  		private:  			void printData(char direction, const SafeByteArray& data);  			void printLine(char c); @@ -23,5 +24,7 @@ namespace Swift {  		private:  			XMLBeautifier *beautifier;  			bool bosh; +			boost::bsignals::scoped_connection onDataReadConnection; +			boost::bsignals::scoped_connection onDataWrittenConnection;  	};  } | 
 Swift
 Swift