Check for IgnoreListManager's existence before using it
authorManuel Nickschas <sputnick@quassel-irc.org>
Wed, 26 Aug 2009 10:56:46 +0000 (12:56 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 26 Aug 2009 10:56:46 +0000 (12:56 +0200)
Fixes #775.

src/client/messagefilter.cpp
src/qtui/chatmonitorfilter.cpp
src/qtui/mainwin.cpp

index 2044b74..39fd3eb 100644 (file)
@@ -145,8 +145,8 @@ bool MessageFilter::filterAcceptsRow(int sourceRow, const QModelIndex &sourcePar
 
   // ignorelist handling
   // only match if message is not flagged as server msg
 
   // ignorelist handling
   // only match if message is not flagged as server msg
-  if(!(flags & Message::ServerMsg) &&
-      Client::ignoreListManager()->match(sourceIdx.data(MessageModel::MessageRole).value<Message>(), Client::networkModel()->networkName(bufferId)))
+  if(!(flags & Message::ServerMsg) && Client::ignoreListManager()
+      && Client::ignoreListManager()->match(sourceIdx.data(MessageModel::MessageRole).value<Message>(), Client::networkModel()->networkName(bufferId)))
     return false;
 
   if(flags & Message::Redirected) {
     return false;
 
   if(flags & Message::Redirected) {
index 0e4a2f9..b46dd29 100644 (file)
@@ -78,9 +78,9 @@ bool ChatMonitorFilter::filterAcceptsRow(int sourceRow, const QModelIndex &sourc
 
   // ignorelist handling
   // only match if message is not flagged as server msg
 
   // ignorelist handling
   // only match if message is not flagged as server msg
-  if(!(flags & Message::ServerMsg) &&
-     Client::ignoreListManager()->match(source_index.data(MessageModel::MessageRole).value<Message>(), Client::networkModel()->networkName(bufferId)))
-      return false;
+  if(!(flags & Message::ServerMsg) && Client::ignoreListManager()
+      && Client::ignoreListManager()->match(source_index.data(MessageModel::MessageRole).value<Message>(), Client::networkModel()->networkName(bufferId)))
+    return false;
   return true;
 }
 
   return true;
 }
 
index 36e9825..451bc24 100644 (file)
@@ -957,8 +957,10 @@ void MainWin::messagesInserted(const QModelIndex &parent, int start, int end) {
     if(hasFocus && bufId == _bufferWidget->currentBuffer())
       continue;
 
     if(hasFocus && bufId == _bufferWidget->currentBuffer())
       continue;
 
-    if((flags & Message::Highlight || bufType == BufferInfo::QueryBuffer) &&
-       !Client::ignoreListManager()->match(idx.data(MessageModel::MessageRole).value<Message>(), Client::networkModel()->networkName(bufId))) {
+    if((flags & Message::Highlight || bufType == BufferInfo::QueryBuffer)
+      && !(Client::ignoreListManager() && Client::ignoreListManager()->match(idx.data(MessageModel::MessageRole).value<Message>(),
+                                                                             Client::networkModel()->networkName(bufId))))
+    {
       QModelIndex senderIdx = Client::messageModel()->index(i, ChatLineModel::SenderColumn);
       QString sender = senderIdx.data(ChatLineModel::EditRole).toString();
       QString contents = idx.data(ChatLineModel::DisplayRole).toString();
       QModelIndex senderIdx = Client::messageModel()->index(i, ChatLineModel::SenderColumn);
       QString sender = senderIdx.data(ChatLineModel::EditRole).toString();
       QString contents = idx.data(ChatLineModel::DisplayRole).toString();