another try to fix those win/linux crashes :)
[quassel.git] / src / uisupport / nickviewfilter.cpp
index 7a6e704..907034d 100644 (file)
@@ -36,6 +36,7 @@ NickViewFilter::NickViewFilter(const BufferId &bufferId, NetworkModel *parent)
   setSourceModel(parent);
   setDynamicSortFilter(true);
   setSortCaseSensitivity(Qt::CaseInsensitive);
+  setSortRole(TreeModel::SortRole);
 }
 
 QVariant NickViewFilter::data(const QModelIndex &index, int role) const {
@@ -67,6 +68,10 @@ QVariant NickViewFilter::foreground(const QModelIndex &index) const {
 
 
 bool NickViewFilter::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const {
+  // root node, networkindexes, the bufferindex of the buffer this filter is active for and it's childs are accepted
+  if(!source_parent.isValid())
+    return true;
+
   QModelIndex source_child = source_parent.child(source_row, 0);
   return (sourceModel()->data(source_child, NetworkModel::BufferIdRole).value<BufferId>() == _bufferId);
 }