I have tree widget and i want to filter, a certain kind of child

I wrote the following slot that gets triggered whenever the contents of the lineedit eBrowseFilter changes:
Qt Code:
  1. void QMyClass::refilterBrowseTree()
  2. {
  3. bool hide = true;
  4.  
  5. QObjectList children = browseTree->children();
  6. browseTree->setUpdatesEnabled(false);
  7. for (int i = 0; i < children.count(); ++i)
  8. {
  9. c = (QTreeWidgetItem*)children.at(i);
  10.  
  11. hide = false;
  12. if (c->type()==1000)
  13. {
  14. if (!c->text(0).contains(eBrowseFilter->text()))
  15. hide = true;
  16. }
  17. c->setHidden(hide);
  18. }
  19. browseTree->setUpdatesEnabled(true);
  20. browseTree->update();
  21. }
To copy to clipboard, switch view to plain text mode 
The Program segfaults as soon as I enter something into eBrowseFilter... The Backtrace tells me it actually failed in QTreeWidget::setItemHidden()...
How can that be? Whats wrong?

Thanks for your help!

Disclaimer:
I know Qt4 has this great model-view-thing, but I personally think it rather inconvenient, since QTreeWidget doesnt allow me to setModel (its private), and reimplementing all the Item-based features for QTreeView looks like a lot of work (after all I am really happy with QTreeWidget, i just want to do some filtering).