This fixes a reference cycle that was preventing the central model object from being properly destroyed.
Model stores a shared pointer to a signal object which stores another shared pointer back to model. To break the cycle, model is connect to the signal via a raw pointer instead. The class supports both shared pointers and raw pointers, so no additional changes are required.
This fixes a reference cycle that was preventing the central model object from being properly destroyed.
Model stores a shared pointer to a signal object which stores another shared pointer back to model. To break the cycle, model is connect to the signal via a raw pointer instead. The class supports both shared pointers and raw pointers, so no additional changes are required.