_bufferSyncer(0),
_backlogManager(new ClientBacklogManager(this)),
_bufferViewManager(0),
- _messageModel(0),
_ircListHelper(new ClientIrcListHelper(this)),
+ _messageModel(0),
_connectedToCore(false),
_syncedToCore(false)
{
}
void Client::coreNetworkRemoved(NetworkId id) {
- if(!_networks.contains(id)) return;
+ if(!_networks.contains(id))
+ return;
Network *net = _networks.take(id);
emit networkRemoved(net->networkId());
net->deleteLater();
if(notificationSettings.highlightNick() == NotificationSettings::CurrentNick) {
nickList << net->myNick();
} else if(notificationSettings.highlightNick() == NotificationSettings::AllNicks) {
- nickList = identity(net->identity())->nicks();
+ const Identity *myIdentity = identity(net->identity());
+ if(myIdentity)
+ nickList = myIdentity->nicks();
}
foreach(QString nickname, nickList) {
QRegExp nickRegExp("^(.*\\W)?" + QRegExp::escape(nickname) + "(\\W.*)?$");
}
void Client::bufferRemoved(BufferId bufferId) {
- // first remove the buffer from has. this prohibits further lastSeenUpdates
+ // first remove the buffer from hash. this prohibits further lastSeenUpdates
Buffer *buff = 0;
if(_buffers.contains(bufferId)) {
buff = _buffers.take(bufferId);
+ layoutQueue.removeAll(buff);
disconnect(buff, 0, this, 0);
}