Aaaaand here comes another protocol break! :)
[quassel.git] / src / common / network.cpp
index c7343ca..a3b9772 100644 (file)
@@ -280,9 +280,7 @@ IrcUser *Network::newIrcUser(const QString &hostmask) {
   QString nick(nickFromMask(hostmask).toLower());
   if(!_ircUsers.contains(nick)) {
     IrcUser *ircuser = new IrcUser(hostmask, this);
-    // mark IrcUser as already initialized to keep the SignalProxy from requesting initData
-    //if(isInitialized())
-    //  ircuser->setInitialized();
+
     if(proxy())
       proxy()->synchronize(ircuser);
     else
@@ -290,6 +288,7 @@ IrcUser *Network::newIrcUser(const QString &hostmask) {
     
     connect(ircuser, SIGNAL(nickSet(QString)), this, SLOT(ircUserNickChanged(QString)));
     connect(ircuser, SIGNAL(initDone()), this, SLOT(ircUserInitDone()));
+    connect(ircuser, SIGNAL(destroyed()), this, SLOT(ircUserDestroyed()));
     _ircUsers[nick] = ircuser;
     emit ircUserAdded(hostmask);
     emit ircUserAdded(ircuser);
@@ -368,9 +367,6 @@ quint32 Network::ircUserCount() const {
 IrcChannel *Network::newIrcChannel(const QString &channelname) {
   if(!_ircChannels.contains(channelname.toLower())) {
     IrcChannel *channel = new IrcChannel(channelname, this);
-    // mark IrcUser as already initialized to keep the SignalProxy from requesting initData
-    //if(isInitialized())
-    //  channel->setInitialized();
 
     if(proxy())
       proxy()->synchronize(channel);
@@ -667,10 +663,6 @@ void Network::initSetIrcUsers(const QStringList &hostmasks) {
 }
 
 void Network::initSetIrcChannels(const QStringList &channels) {
-  // FIXME This does not work correctly, "received data for unknown User" triggers
-  //       So we disable this for now
-  return;
-
   if(!_ircChannels.empty())
     return;
   foreach(QString channel, channels)