treemodel.cpp
changeset 756 a8a5c7288f57
parent 755 ed5b407975b3
child 757 c6908bc17d78
     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;