diff base/Model.cpp @ 30:a6ef94ecbe74

* As previous commit
author Chris Cannam
date Fri, 17 Feb 2006 18:11:08 +0000
parents 149bb02a41ba
children b8aae4f883b7
line wrap: on
line diff
--- a/base/Model.cpp	Fri Feb 17 18:04:26 2006 +0000
+++ b/base/Model.cpp	Fri Feb 17 18:11:08 2006 +0000
@@ -8,9 +8,19 @@
 */
 
 #include "Model.h"
+#include "PlayParameterRepository.h"
 
 const int Model::COMPLETION_UNKNOWN = -1;
 
+Model::~Model()
+{
+    // Subclasses have to handle adding themselves to the repository,
+    // if they want to be played.  We can't do it from here because
+    // the repository would be unable to tell whether we were playable
+    // or not (because dynamic_cast won't work from the base class ctor)
+    PlayParameterRepository::instance()->removeModel(this);
+}
+
 QString
 Model::toXmlString(QString indent, QString extraAttributes) const
 {