Should I use QList<MyClass> or QList<MyClass *>? And why doesn't QList support abstract classes? Isn't that an important feature?

I am developing a subclass of QList<MyClass *> called "stack" which adds some extra operations on its objects and is also an item model so it can be viewed. These operations also save a copy of the list into a list of QList<MyClass *>. But when I try to use recalled list, the pointers are invalid!

Some members of Stack:
Qt Code:
  1. QList<QList<DElement*>*> history;
  2. void undo();
  3. QList<DElement> * duplicate();
  4. void nextHistoryStep();
To copy to clipboard, switch view to plain text mode 

nextHistoryStep is called when an operation is complete. The current state is appended to history. Or so I think undo is supposed recall the previous state by copying the pointers back.

Here are the functions:
Qt Code:
  1. void Stack::nextHistoryStep()
  2. {
  3. history.append(duplicate());
  4. }
  5.  
  6. QList<DElement> * Stack::duplicate()
  7. {
  8. QList<DElement*> * now = new QList<DElement*>();
  9. for(int i = 0; i < size(); i++)
  10. {
  11. now->append(at(i));
  12. }
  13. return now;
  14. }
  15.  
  16.  
  17. void Stack::undo()
  18. {
  19. if(history.size() > 1)
  20. {
  21. this->clear();
  22. // reload from last history
  23. QList<DElement*> * prev = history.at(history.size() - 2);
  24. for(int i = 0; i < prev->size(); i++)
  25. {
  26. append(prev->at(i));
  27. }
  28.  
  29. emitUpdate();
  30.  
  31. history.removeLast();
  32. delete prev;
  33. }
  34. }
To copy to clipboard, switch view to plain text mode 

Deleting a QList destroys that contents too. Is that just the internal pointers (in this case a pointer to pointer) or my actual objects? This code runs without a problem-but the instant that the contents are actually accessed, a segfault occurs. It is possible to delete the unneeded QList without destroying the contents and is this the problem?

Oh, and DElement was originally abstract. It's a generic "element." But this caused a weird compiler error.