1.1 --- a/treemodel.cpp Thu Apr 23 12:15:31 2009 +0000
1.2 +++ b/treemodel.cpp Mon Apr 27 12:07:15 2009 +0000
1.3 @@ -80,11 +80,8 @@
1.4 return QModelIndex();
1.5
1.6 if (!parentItem)
1.7 - {
1.8 - cout <<"TreeModel::parent ti=="<<ti<<" "<<ti->getHeading().toStdString()<<endl;
1.9 return QModelIndex(); // FIXME-3 do this to avoid segfault, but why?
1.10 // see also my question on qt-interest in march
1.11 - }
1.12
1.13 return createIndex(parentItem->childNumber(), 0, parentItem);
1.14 }
1.15 @@ -195,7 +192,18 @@
1.16 cout << "TreeModel::removeRows removing i="<<i<<std::endl;
1.17 ti=pi->getChildNum (row);
1.18 pi->removeChild (row); // does not delete object!
1.19 - delete (ti);
1.20 + switch (ti->getType())
1.21 + {
1.22 + case TreeItem::MapCenter:
1.23 + delete (BranchItem*)ti;
1.24 + break;
1.25 + case TreeItem::Branch:
1.26 + delete (BranchItem*)ti;
1.27 + break;
1.28 + default:
1.29 + delete ti;
1.30 + break;
1.31 + }
1.32 }
1.33 endRemoveRows ();
1.34 return true;