diff options
| -rw-r--r-- | Swiften/Examples/SendMessage/SendMessage.cpp | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/Swiften/Examples/SendMessage/SendMessage.cpp b/Swiften/Examples/SendMessage/SendMessage.cpp index 7699eef..b7625fb 100644 --- a/Swiften/Examples/SendMessage/SendMessage.cpp +++ b/Swiften/Examples/SendMessage/SendMessage.cpp @@ -17,6 +17,7 @@ Client* client = 0;  JID recipient;  std::string messageBody;  int exitCode = 0; +boost::bsignals::connection errorConnection;  void handleConnected() { @@ -24,6 +25,7 @@ void handleConnected() {  	message->setBody(messageBody);  	message->setTo(recipient);  	client->sendMessage(message); +	errorConnection.disconnect();  	client->disconnect();  	eventLoop.stop();  } @@ -31,6 +33,7 @@ void handleConnected() {  void handleError(const ClientError&) {  	std::cerr << "Error!" << std::endl;  	exitCode = 1; +	eventLoop.stop();  }  int main(int argc, char* argv[]) { @@ -45,7 +48,7 @@ int main(int argc, char* argv[]) {  	client = new Swift::Client(JID(argv[1]), String(argv[2]));  	ClientXMLTracer* tracer = new ClientXMLTracer(client);  	client->onConnected.connect(&handleConnected); -	client->onError.connect(&handleError); +	errorConnection = client->onError.connect(&handleError);  	client->connect();  	{  | 
 Swift