listener irc: Fix race condition joining channel when not connected

This commit is contained in:
Hylke Bons 2011-06-08 00:38:09 +01:00
parent 5e243359ad
commit ae8d03ebdc

View file

@ -56,10 +56,12 @@ namespace SparkleLib {
}; };
this.client.OnDisconnected += delegate { this.client.OnDisconnected += delegate {
base.is_connecting = false;
OnDisconnected (); OnDisconnected ();
}; };
this.client.OnError += delegate { this.client.OnError += delegate {
base.is_connecting = false;
OnDisconnected (); OnDisconnected ();
}; };
@ -118,9 +120,12 @@ namespace SparkleLib {
{ {
string channel = "#" + folder_identifier; string channel = "#" + folder_identifier;
if (!base.channels.Contains (channel)) { if (!base.channels.Contains (channel)) {
SparkleHelpers.DebugInfo ("ListenerIrc", "Joining channel " + channel);
base.channels.Add (channel); base.channels.Add (channel);
this.client.RfcJoin (channel);
if (IsConnected) {
SparkleHelpers.DebugInfo ("ListenerIrc", "Joining channel " + channel);
this.client.RfcJoin (channel);
}
} }
} }