projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixing client crash if a buffer is deleted during backlog rendering
[quassel.git]
/
src
/
client
/
client.cpp
diff --git
a/src/client/client.cpp
b/src/client/client.cpp
index
a6f7b4b
..
6ce23d5
100644
(file)
--- a/
src/client/client.cpp
+++ b/
src/client/client.cpp
@@
-72,8
+72,8
@@
Client::Client(QObject *parent)
_bufferSyncer(0),
_backlogManager(new ClientBacklogManager(this)),
_bufferViewManager(0),
_bufferSyncer(0),
_backlogManager(new ClientBacklogManager(this)),
_bufferViewManager(0),
- _messageModel(0),
_ircListHelper(new ClientIrcListHelper(this)),
_ircListHelper(new ClientIrcListHelper(this)),
+ _messageModel(0),
_connectedToCore(false),
_syncedToCore(false)
{
_connectedToCore(false),
_syncedToCore(false)
{
@@
-246,7
+246,8
@@
void Client::coreNetworkCreated(NetworkId id) {
}
void Client::coreNetworkRemoved(NetworkId id) {
}
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();
Network *net = _networks.take(id);
emit networkRemoved(net->networkId());
net->deleteLater();
@@
-641,10
+642,11
@@
void Client::removeBuffer(BufferId id) {
}
void Client::bufferRemoved(BufferId bufferId) {
}
void Client::bufferRemoved(BufferId bufferId) {
- // first remove the buffer from has. this prohibits further lastSeenUpdates
+ // first remove the buffer from has
h
. this prohibits further lastSeenUpdates
Buffer *buff = 0;
if(_buffers.contains(bufferId)) {
buff = _buffers.take(bufferId);
Buffer *buff = 0;
if(_buffers.contains(bufferId)) {
buff = _buffers.take(bufferId);
+ layoutQueue.removeAll(buff);
disconnect(buff, 0, this, 0);
}
disconnect(buff, 0, this, 0);
}