- Track *trk=new Track(art_no);
- try
- {
- load_sub(*trk);
- }
- catch(const Msp::Exception &)
- {
- delete trk;
- throw;
- }
- cat.tracks.insert(TrackMap::value_type(trk->get_article_number(), trk));
+ RefPtr<TrackType> trk=new TrackType(art_no);
+ load_sub(*trk);
+ unsigned art_nr=trk->get_article_number();
+ cat.tracks.insert(map<unsigned, TrackType *>::value_type(art_nr, trk.release()));