Interpretation_context_handle::~Interpretation_context_handle ()
{
- if (report_to_)
- down ();
+ /*
+ Don't do
+
+ if (report_to_)
+ down ();
+
+ with GC, this is asynchronous.
+ */
}
void
report_to_ = 0;
}
+void
+Interpretation_context_handle::quit ()
+{
+ if (report_to_)
+ {
+ report_to_->iterator_count_ --;
+ report_to_ = 0;
+ }
+}
+
bool
Interpretation_context_handle::try_music (Music *m)
{
- return report_to_->try_music (m);
+ return report_to_->try_music (m);
}
void
Translator_group*
Interpretation_context_handle::report_to ()const
{
+
return report_to_;
}