diff --git a/src/Observer.h b/src/Observer.h index eab1a4a30..0c0cb9a92 100644 --- a/src/Observer.h +++ b/src/Observer.h @@ -11,10 +11,9 @@ template class Observable; */ template class Observer { - Observable *observed; + Observable *observed = NULL; public: - Observer() : observed(NULL) {} virtual ~Observer(); @@ -92,5 +91,9 @@ template Observer::~Observer() template void Observer::observe(Observable *o) { + // We can only watch one thing at a time + assert(!observed); + + observed = o; o->addObserver(this); } \ No newline at end of file