From f74cd18d4922844fa9c579d85d77c2987d9375eb Mon Sep 17 00:00:00 2001 From: Pierluigi Vicinanza Date: Mon, 15 Jul 2013 18:05:08 +0100 Subject: [PATCH] WSortFilterProxyModel bugfix: segmentation fault (vector subscript out of range) in WSortFilterProxyModel::sourceDataChanged(...) method when setting a new icon for a WStandardItem --- src/Wt/WSortFilterProxyModel.C | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Wt/WSortFilterProxyModel.C b/src/Wt/WSortFilterProxyModel.C index b85f303..111f49a 100644 --- a/src/Wt/WSortFilterProxyModel.C +++ b/src/Wt/WSortFilterProxyModel.C @@ -548,6 +548,13 @@ void WSortFilterProxyModel::sourceDataChanged(const WModelIndex& topLeft, WModelIndex parent = mapFromSource(topLeft.parent()); Item *item = itemFromIndex(parent); + + bool isNotRootIndex = topLeft.parent().isValid(); + if (item == mappedRootItem_ && isNotRootIndex) + { + // index doesn't refer to root item, hence simply invalid/not meant to be displayed + return; + } for (int row = topLeft.row(); row <= bottomRight.row(); ++row) { int oldMappedRow = item->sourceRowMap_[row]; -- 1.8.1.msysgit.1