QSortFilterProxyModel对SourceModel有什么特殊要求?该怎么处理

QSortFilterProxyModel对SourceModel有什么特殊要求?
我有三个对象:
一个 tableView(QTableView),
一个 tableModel(继承自QAbstractTableModel),数据会动态增加
一个 proxyModel (QSortFilterProxyModel),并且proxyModel->setSourceModel(tableModel);

1。当tableView->setModel(tableModel); 使用正常

2。当tableView->setModel(proxyModel); 开始一切正常,
但是如果鼠标选中View中某一单元格之后,model数据更新的时候导致crash!
C/C++ code

XXX.exe 中的 0x6580eac7 处未处理的异常: 0xC0000005: 读取位置 0x00000019 时发生访问冲突


断点在:
C/C++ code

C:\Program Files\Microsoft Visual Studio 9.0\VC\crt\src\free.c

void __cdecl _free_base (void * pBlock)
109行 retval = HeapFree(_crtheap, 0, pBlock);



所以请教一下:QSortFilterProxyModel是不是对SourceModel有什么特殊要求?
比如必须提供哪些方法……

------解决方案--------------------