Fixing a client crash that could be triggered under certain preconditions if a ircUse...
[quassel.git] / src / uisupport / bufferview.cpp
index 62060db..936c063 100644 (file)
@@ -324,7 +324,7 @@ void BufferView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bott
     return;
 
   for(int i = topLeft.row(); i <= bottomRight.row(); i++) {
     return;
 
   for(int i = topLeft.row(); i <= bottomRight.row(); i++) {
-    QModelIndex networkIdx = topLeft.sibling(topLeft.row(), 0);
+    QModelIndex networkIdx = topLeft.sibling(i, 0);
     if(model()->rowCount(networkIdx) == 0)
       continue;
 
     if(model()->rowCount(networkIdx) == 0)
       continue;
 
@@ -431,8 +431,8 @@ void BufferView::contextMenuEvent(QContextMenuEvent *event) {
     _disconnectNetAction.setIcon(connectionStateIcon);
     _connectNetAction.setIcon(connectionStateIcon);
     addItemToMenu(showChannelList, contextMenu, index, ActiveState);
     _disconnectNetAction.setIcon(connectionStateIcon);
     _connectNetAction.setIcon(connectionStateIcon);
     addItemToMenu(showChannelList, contextMenu, index, ActiveState);
-    addItemToMenu(_disconnectNetAction, contextMenu, index, ActiveState);
-    addItemToMenu(_connectNetAction, contextMenu, index, InactiveState);
+    addItemToMenu(_disconnectNetAction, contextMenu, network->connectionState() != Network::Disconnected);
+    addItemToMenu(_connectNetAction, contextMenu, network->connectionState() == Network::Disconnected);
     addSeparatorToMenu(contextMenu, index, ActiveState);
     addItemToMenu(_joinChannelAction, contextMenu, index, ActiveState);
     break;
     addSeparatorToMenu(contextMenu, index, ActiveState);
     addItemToMenu(_joinChannelAction, contextMenu, index, ActiveState);
     break;